YES 8.323
H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/List.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:
↳ HASKELL
↳ LR
mainModule List
| ((group :: (Eq a, Eq b) => [(b,a)] -> [[(b,a)]]) :: (Eq b, Eq a) => [(b,a)] -> [[(b,a)]]) |
module List where
| import qualified Maybe import qualified Prelude
|
| group :: Eq a => [a] -> [[a]]
|
| groupBy :: (a -> a -> Bool) -> [a] -> [[a]]
groupBy | _ [] | = | [] |
groupBy | eq (x : xs) | = |
(x : ys) : groupBy eq zs | where |
|
|
|
module Maybe where
| import qualified List import qualified Prelude
|
Lambda Reductions:
The following Lambda expression
\(_,zs)→zs
is transformed to
The following Lambda expression
\(ys,_)→ys
is transformed to
The following Lambda expression
\(_,zs)→zs
is transformed to
The following Lambda expression
\(ys,_)→ys
is transformed to
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
mainModule List
| ((group :: (Eq a, Eq b) => [(a,b)] -> [[(a,b)]]) :: (Eq b, Eq a) => [(a,b)] -> [[(a,b)]]) |
module List where
| import qualified Maybe import qualified Prelude
|
| group :: Eq a => [a] -> [[a]]
|
| groupBy :: (a -> a -> Bool) -> [a] -> [[a]]
groupBy | _ [] | = | [] |
groupBy | eq (x : xs) | = |
(x : ys) : groupBy eq zs | where |
|
|
|
module Maybe where
| import qualified List import qualified Prelude
|
Replaced joker patterns by fresh variables and removed binding patterns.
Binding Reductions:
The bind variable of the following binding Pattern
xs@(ww : wx)
is replaced by the following term
ww : wx
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
mainModule List
| ((group :: (Eq b, Eq a) => [(b,a)] -> [[(b,a)]]) :: (Eq a, Eq b) => [(b,a)] -> [[(b,a)]]) |
module List where
| import qualified Maybe import qualified Prelude
|
| group :: Eq a => [a] -> [[a]]
|
| groupBy :: (a -> a -> Bool) -> [a] -> [[a]]
groupBy | vw [] | = | [] |
groupBy | eq (x : xs) | = |
(x : ys) : groupBy eq zs | where |
|
|
|
module Maybe where
| import qualified List import qualified Prelude
|
Cond Reductions:
The following Function with conditions
is transformed to
undefined0 | True | = undefined |
undefined1 | | = undefined0 False |
The following Function with conditions
span | p [] | = ([],[]) |
span | p (ww : wx) | |
is transformed to
span | p [] | = span3 p [] |
span | p (ww : wx) | = span2 p (ww : wx) |
span2 | p (ww : wx) | =
span1 p ww wx (p ww) |
where |
span0 | p ww wx True | = ([],ww : wx) |
|
|
span1 | p ww wx True | = (ww : ys,zs) |
span1 | p ww wx False | = span0 p ww wx otherwise |
|
| |
| |
| |
| |
| |
|
span3 | p [] | = ([],[]) |
span3 | yz zu | = span2 yz zu |
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
mainModule List
| ((group :: (Eq b, Eq a) => [(a,b)] -> [[(a,b)]]) :: (Eq b, Eq a) => [(a,b)] -> [[(a,b)]]) |
module List where
| import qualified Maybe import qualified Prelude
|
| group :: Eq a => [a] -> [[a]]
|
| groupBy :: (a -> a -> Bool) -> [a] -> [[a]]
groupBy | vw [] | = | [] |
groupBy | eq (x : xs) | = |
(x : ys) : groupBy eq zs | where |
|
|
|
module Maybe where
| import qualified List import qualified Prelude
|
Let/Where Reductions:
The bindings of the following Let/Where expression
(x : ys) : groupBy eq zs |
where | |
| |
| |
| |
| |
are unpacked to the following functions on top level
groupByZs0 | zv zw zx (vy,zs) | = zs |
groupByYs | zv zw zx | = groupByYs0 zv zw zx (groupByVv10 zv zw zx) |
groupByZs | zv zw zx | = groupByZs0 zv zw zx (groupByVv10 zv zw zx) |
groupByVv10 | zv zw zx | = span (zv zw) zx |
groupByYs0 | zv zw zx (ys,vx) | = ys |
The bindings of the following Let/Where expression
span1 p ww wx (p ww) |
where |
span0 | p ww wx True | = ([],ww : wx) |
|
|
span1 | p ww wx True | = (ww : ys,zs) |
span1 | p ww wx False | = span0 p ww wx otherwise |
|
| |
| |
| |
| |
| |
are unpacked to the following functions on top level
span2Vu43 | zy zz | = span zy zz |
span2Ys | zy zz | = span2Ys1 zy zz (span2Vu43 zy zz) |
span2Zs1 | zy zz (wy,zs) | = zs |
span2Span1 | zy zz p ww wx True | = (ww : span2Ys zy zz,span2Zs zy zz) |
span2Span1 | zy zz p ww wx False | = span2Span0 zy zz p ww wx otherwise |
span2Ys1 | zy zz (ys,wz) | = ys |
span2Span0 | zy zz p ww wx True | = ([],ww : wx) |
span2Zs | zy zz | = span2Zs1 zy zz (span2Vu43 zy zz) |
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ Narrow
mainModule List
| (group :: (Eq a, Eq b) => [(a,b)] -> [[(a,b)]]) |
module List where
| import qualified Maybe import qualified Prelude
|
| group :: Eq a => [a] -> [[a]]
|
| groupBy :: (a -> a -> Bool) -> [a] -> [[a]]
groupBy | vw [] | = | [] |
groupBy | eq (x : xs) | = | (x : groupByYs eq x xs) : groupBy eq (groupByZs eq x xs) |
|
|
groupByVv10 | zv zw zx | = | span (zv zw) zx |
|
|
groupByYs | zv zw zx | = | groupByYs0 zv zw zx (groupByVv10 zv zw zx) |
|
|
groupByYs0 | zv zw zx (ys,vx) | = | ys |
|
|
groupByZs | zv zw zx | = | groupByZs0 zv zw zx (groupByVv10 zv zw zx) |
|
|
groupByZs0 | zv zw zx (vy,zs) | = | zs |
|
module Maybe where
| import qualified List import qualified Prelude
|
Haskell To QDPs
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_primPlusNat(Succ(vuu7500), Succ(vuu31010000)) → new_primPlusNat(vuu7500, vuu31010000)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_primPlusNat(Succ(vuu7500), Succ(vuu31010000)) → new_primPlusNat(vuu7500, vuu31010000)
The graph contains the following edges 1 > 1, 2 > 2
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_primMulNat(Succ(vuu301000), Succ(vuu3101000)) → new_primMulNat(vuu301000, Succ(vuu3101000))
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_primMulNat(Succ(vuu301000), Succ(vuu3101000)) → new_primMulNat(vuu301000, Succ(vuu3101000))
The graph contains the following edges 1 > 1, 2 >= 2
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_primEqNat(Succ(vuu30100), Succ(vuu310100)) → new_primEqNat(vuu30100, vuu310100)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_primEqNat(Succ(vuu30100), Succ(vuu310100)) → new_primEqNat(vuu30100, vuu310100)
The graph contains the following edges 1 > 1, 2 > 2
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_esEs(Right(vuu3010), Right(vuu31010), cc, app(app(app(ty_@3, dc), dd), de)) → new_esEs3(vuu3010, vuu31010, dc, dd, de)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, app(ty_Maybe, bcg), bcc) → new_esEs2(vuu3011, vuu31011, bcg)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, bag, app(app(app(ty_@3, bbf), bbg), bbh)) → new_esEs3(vuu3012, vuu31012, bbf, bbg, bbh)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), app(app(ty_Either, bdc), bdd), bag, bcc) → new_esEs(vuu3010, vuu31010, bdc, bdd)
new_esEs2(Just(vuu3010), Just(vuu31010), app(app(ty_Either, he), hf)) → new_esEs(vuu3010, vuu31010, he, hf)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), app(app(ty_@2, bde), bdf), bag, bcc) → new_esEs0(vuu3010, vuu31010, bde, bdf)
new_esEs(Right(vuu3010), Right(vuu31010), cc, app(ty_[], da)) → new_esEs1(vuu3010, vuu31010, da)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, bag, app(ty_[], bbd)) → new_esEs1(vuu3012, vuu31012, bbd)
new_esEs1(:(vuu3010, vuu3011), :(vuu31010, vuu31011), gc) → new_esEs1(vuu3011, vuu31011, gc)
new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), app(ty_[], ff), fb) → new_esEs1(vuu3010, vuu31010, ff)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, bag, app(app(ty_Either, bah), bba)) → new_esEs(vuu3012, vuu31012, bah, bba)
new_esEs1(:(vuu3010, vuu3011), :(vuu31010, vuu31011), app(ty_[], gh)) → new_esEs1(vuu3010, vuu31010, gh)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, app(ty_[], bcf), bcc) → new_esEs1(vuu3011, vuu31011, bcf)
new_esEs2(Just(vuu3010), Just(vuu31010), app(ty_[], baa)) → new_esEs1(vuu3010, vuu31010, baa)
new_esEs(Right(vuu3010), Right(vuu31010), cc, app(app(ty_@2, cf), cg)) → new_esEs0(vuu3010, vuu31010, cf, cg)
new_esEs2(Just(vuu3010), Just(vuu31010), app(ty_Maybe, bab)) → new_esEs2(vuu3010, vuu31010, bab)
new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), app(app(ty_Either, eh), fa), fb) → new_esEs(vuu3010, vuu31010, eh, fa)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, app(app(ty_@2, bcd), bce), bcc) → new_esEs0(vuu3011, vuu31011, bcd, bce)
new_esEs(Left(vuu3010), Left(vuu31010), app(ty_Maybe, bg), bc) → new_esEs2(vuu3010, vuu31010, bg)
new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), df, app(app(ty_Either, dg), dh)) → new_esEs(vuu3011, vuu31011, dg, dh)
new_esEs(Left(vuu3010), Left(vuu31010), app(app(app(ty_@3, bh), ca), cb), bc) → new_esEs3(vuu3010, vuu31010, bh, ca, cb)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, app(app(app(ty_@3, bch), bda), bdb), bcc) → new_esEs3(vuu3011, vuu31011, bch, bda, bdb)
new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), df, app(ty_Maybe, ed)) → new_esEs2(vuu3011, vuu31011, ed)
new_esEs(Right(vuu3010), Right(vuu31010), cc, app(app(ty_Either, cd), ce)) → new_esEs(vuu3010, vuu31010, cd, ce)
new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), app(app(app(ty_@3, fh), ga), gb), fb) → new_esEs3(vuu3010, vuu31010, fh, ga, gb)
new_esEs(Left(vuu3010), Left(vuu31010), app(app(ty_@2, bd), be), bc) → new_esEs0(vuu3010, vuu31010, bd, be)
new_esEs1(:(vuu3010, vuu3011), :(vuu31010, vuu31011), app(ty_Maybe, ha)) → new_esEs2(vuu3010, vuu31010, ha)
new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), app(ty_Maybe, fg), fb) → new_esEs2(vuu3010, vuu31010, fg)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, app(app(ty_Either, bca), bcb), bcc) → new_esEs(vuu3011, vuu31011, bca, bcb)
new_esEs1(:(vuu3010, vuu3011), :(vuu31010, vuu31011), app(app(app(ty_@3, hb), hc), hd)) → new_esEs3(vuu3010, vuu31010, hb, hc, hd)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, bag, app(ty_Maybe, bbe)) → new_esEs2(vuu3012, vuu31012, bbe)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), app(ty_Maybe, bdh), bag, bcc) → new_esEs2(vuu3010, vuu31010, bdh)
new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), app(app(ty_@2, fc), fd), fb) → new_esEs0(vuu3010, vuu31010, fc, fd)
new_esEs(Right(vuu3010), Right(vuu31010), cc, app(ty_Maybe, db)) → new_esEs2(vuu3010, vuu31010, db)
new_esEs(Left(vuu3010), Left(vuu31010), app(ty_[], bf), bc) → new_esEs1(vuu3010, vuu31010, bf)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), app(ty_[], bdg), bag, bcc) → new_esEs1(vuu3010, vuu31010, bdg)
new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), df, app(ty_[], ec)) → new_esEs1(vuu3011, vuu31011, ec)
new_esEs2(Just(vuu3010), Just(vuu31010), app(app(app(ty_@3, bac), bad), bae)) → new_esEs3(vuu3010, vuu31010, bac, bad, bae)
new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), df, app(app(ty_@2, ea), eb)) → new_esEs0(vuu3011, vuu31011, ea, eb)
new_esEs1(:(vuu3010, vuu3011), :(vuu31010, vuu31011), app(app(ty_Either, gd), ge)) → new_esEs(vuu3010, vuu31010, gd, ge)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, bag, app(app(ty_@2, bbb), bbc)) → new_esEs0(vuu3012, vuu31012, bbb, bbc)
new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), df, app(app(app(ty_@3, ee), ef), eg)) → new_esEs3(vuu3011, vuu31011, ee, ef, eg)
new_esEs1(:(vuu3010, vuu3011), :(vuu31010, vuu31011), app(app(ty_@2, gf), gg)) → new_esEs0(vuu3010, vuu31010, gf, gg)
new_esEs(Left(vuu3010), Left(vuu31010), app(app(ty_Either, ba), bb), bc) → new_esEs(vuu3010, vuu31010, ba, bb)
new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), app(app(app(ty_@3, bea), beb), bec), bag, bcc) → new_esEs3(vuu3010, vuu31010, bea, beb, bec)
new_esEs2(Just(vuu3010), Just(vuu31010), app(app(ty_@2, hg), hh)) → new_esEs0(vuu3010, vuu31010, hg, hh)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_esEs2(Just(vuu3010), Just(vuu31010), app(app(ty_Either, he), hf)) → new_esEs(vuu3010, vuu31010, he, hf)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4
- new_esEs2(Just(vuu3010), Just(vuu31010), app(app(app(ty_@3, bac), bad), bae)) → new_esEs3(vuu3010, vuu31010, bac, bad, bae)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4, 3 > 5
- new_esEs1(:(vuu3010, vuu3011), :(vuu31010, vuu31011), app(app(ty_Either, gd), ge)) → new_esEs(vuu3010, vuu31010, gd, ge)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4
- new_esEs1(:(vuu3010, vuu3011), :(vuu31010, vuu31011), app(app(app(ty_@3, hb), hc), hd)) → new_esEs3(vuu3010, vuu31010, hb, hc, hd)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4, 3 > 5
- new_esEs2(Just(vuu3010), Just(vuu31010), app(ty_Maybe, bab)) → new_esEs2(vuu3010, vuu31010, bab)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3
- new_esEs1(:(vuu3010, vuu3011), :(vuu31010, vuu31011), app(ty_Maybe, ha)) → new_esEs2(vuu3010, vuu31010, ha)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3
- new_esEs2(Just(vuu3010), Just(vuu31010), app(ty_[], baa)) → new_esEs1(vuu3010, vuu31010, baa)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3
- new_esEs2(Just(vuu3010), Just(vuu31010), app(app(ty_@2, hg), hh)) → new_esEs0(vuu3010, vuu31010, hg, hh)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4
- new_esEs1(:(vuu3010, vuu3011), :(vuu31010, vuu31011), app(app(ty_@2, gf), gg)) → new_esEs0(vuu3010, vuu31010, gf, gg)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), app(app(ty_Either, bdc), bdd), bag, bcc) → new_esEs(vuu3010, vuu31010, bdc, bdd)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, bag, app(app(ty_Either, bah), bba)) → new_esEs(vuu3012, vuu31012, bah, bba)
The graph contains the following edges 1 > 1, 2 > 2, 5 > 3, 5 > 4
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, app(app(ty_Either, bca), bcb), bcc) → new_esEs(vuu3011, vuu31011, bca, bcb)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3, 4 > 4
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, bag, app(app(app(ty_@3, bbf), bbg), bbh)) → new_esEs3(vuu3012, vuu31012, bbf, bbg, bbh)
The graph contains the following edges 1 > 1, 2 > 2, 5 > 3, 5 > 4, 5 > 5
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, app(app(app(ty_@3, bch), bda), bdb), bcc) → new_esEs3(vuu3011, vuu31011, bch, bda, bdb)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3, 4 > 4, 4 > 5
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), app(app(app(ty_@3, bea), beb), bec), bag, bcc) → new_esEs3(vuu3010, vuu31010, bea, beb, bec)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4, 3 > 5
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, app(ty_Maybe, bcg), bcc) → new_esEs2(vuu3011, vuu31011, bcg)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), app(ty_Maybe, bdh), bag, bcc) → new_esEs2(vuu3010, vuu31010, bdh)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, bag, app(ty_Maybe, bbe)) → new_esEs2(vuu3012, vuu31012, bbe)
The graph contains the following edges 1 > 1, 2 > 2, 5 > 3
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, bag, app(ty_[], bbd)) → new_esEs1(vuu3012, vuu31012, bbd)
The graph contains the following edges 1 > 1, 2 > 2, 5 > 3
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, app(ty_[], bcf), bcc) → new_esEs1(vuu3011, vuu31011, bcf)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), app(ty_[], bdg), bag, bcc) → new_esEs1(vuu3010, vuu31010, bdg)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), app(app(ty_@2, bde), bdf), bag, bcc) → new_esEs0(vuu3010, vuu31010, bde, bdf)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, app(app(ty_@2, bcd), bce), bcc) → new_esEs0(vuu3011, vuu31011, bcd, bce)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3, 4 > 4
- new_esEs3(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), baf, bag, app(app(ty_@2, bbb), bbc)) → new_esEs0(vuu3012, vuu31012, bbb, bbc)
The graph contains the following edges 1 > 1, 2 > 2, 5 > 3, 5 > 4
- new_esEs(Right(vuu3010), Right(vuu31010), cc, app(app(ty_Either, cd), ce)) → new_esEs(vuu3010, vuu31010, cd, ce)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3, 4 > 4
- new_esEs(Left(vuu3010), Left(vuu31010), app(app(ty_Either, ba), bb), bc) → new_esEs(vuu3010, vuu31010, ba, bb)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4
- new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), app(app(ty_Either, eh), fa), fb) → new_esEs(vuu3010, vuu31010, eh, fa)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4
- new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), df, app(app(ty_Either, dg), dh)) → new_esEs(vuu3011, vuu31011, dg, dh)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3, 4 > 4
- new_esEs(Right(vuu3010), Right(vuu31010), cc, app(app(app(ty_@3, dc), dd), de)) → new_esEs3(vuu3010, vuu31010, dc, dd, de)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3, 4 > 4, 4 > 5
- new_esEs(Left(vuu3010), Left(vuu31010), app(app(app(ty_@3, bh), ca), cb), bc) → new_esEs3(vuu3010, vuu31010, bh, ca, cb)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4, 3 > 5
- new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), app(app(app(ty_@3, fh), ga), gb), fb) → new_esEs3(vuu3010, vuu31010, fh, ga, gb)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4, 3 > 5
- new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), df, app(app(app(ty_@3, ee), ef), eg)) → new_esEs3(vuu3011, vuu31011, ee, ef, eg)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3, 4 > 4, 4 > 5
- new_esEs(Left(vuu3010), Left(vuu31010), app(ty_Maybe, bg), bc) → new_esEs2(vuu3010, vuu31010, bg)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3
- new_esEs(Right(vuu3010), Right(vuu31010), cc, app(ty_Maybe, db)) → new_esEs2(vuu3010, vuu31010, db)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3
- new_esEs(Right(vuu3010), Right(vuu31010), cc, app(ty_[], da)) → new_esEs1(vuu3010, vuu31010, da)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3
- new_esEs(Left(vuu3010), Left(vuu31010), app(ty_[], bf), bc) → new_esEs1(vuu3010, vuu31010, bf)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3
- new_esEs(Right(vuu3010), Right(vuu31010), cc, app(app(ty_@2, cf), cg)) → new_esEs0(vuu3010, vuu31010, cf, cg)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3, 4 > 4
- new_esEs(Left(vuu3010), Left(vuu31010), app(app(ty_@2, bd), be), bc) → new_esEs0(vuu3010, vuu31010, bd, be)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4
- new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), df, app(ty_Maybe, ed)) → new_esEs2(vuu3011, vuu31011, ed)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3
- new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), app(ty_Maybe, fg), fb) → new_esEs2(vuu3010, vuu31010, fg)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3
- new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), app(ty_[], ff), fb) → new_esEs1(vuu3010, vuu31010, ff)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3
- new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), df, app(ty_[], ec)) → new_esEs1(vuu3011, vuu31011, ec)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3
- new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), app(app(ty_@2, fc), fd), fb) → new_esEs0(vuu3010, vuu31010, fc, fd)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4
- new_esEs0(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), df, app(app(ty_@2, ea), eb)) → new_esEs0(vuu3011, vuu31011, ea, eb)
The graph contains the following edges 1 > 1, 2 > 2, 4 > 3, 4 > 4
- new_esEs1(:(vuu3010, vuu3011), :(vuu31010, vuu31011), gc) → new_esEs1(vuu3011, vuu31011, gc)
The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3
- new_esEs1(:(vuu3010, vuu3011), :(vuu31010, vuu31011), app(ty_[], gh)) → new_esEs1(vuu3010, vuu31010, gh)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_span2Ys1(vuu37, vuu38, vuu410, vuu411, True, ba, bb) → new_span2Zs(vuu37, vuu38, vuu411, ba, bb)
new_span2Zs1(vuu57, vuu58, vuu610, vuu611, True, bc, bd) → new_span2Ys(vuu57, vuu58, vuu611, bc, bd)
new_span2Zs(vuu57, vuu58, :(vuu610, vuu611), bc, bd) → new_span2Zs1(vuu57, vuu58, vuu610, vuu611, new_esEs4(@2(vuu57, vuu58), vuu610, bc, bd), bc, bd)
new_span2Ys1(vuu37, vuu38, vuu410, vuu411, True, ba, bb) → new_span2Ys(vuu37, vuu38, vuu411, ba, bb)
new_span2Ys(vuu37, vuu38, :(vuu410, vuu411), ba, bb) → new_span2Ys1(vuu37, vuu38, vuu410, vuu411, new_esEs4(@2(vuu37, vuu38), vuu410, ba, bb), ba, bb)
new_span2Zs1(vuu57, vuu58, vuu610, vuu611, True, bc, bd) → new_span2Zs(vuu57, vuu58, vuu611, bc, bd)
The TRS R consists of the following rules:
new_esEs9(vuu3010, vuu31010, app(ty_Maybe, dh)) → new_esEs17(vuu3010, vuu31010, dh)
new_esEs25(vuu3010, vuu31010, ty_Char) → new_esEs19(vuu3010, vuu31010)
new_esEs22(vuu3012, vuu31012, ty_Integer) → new_esEs14(vuu3012, vuu31012)
new_esEs22(vuu3012, vuu31012, app(ty_Ratio, fd)) → new_esEs13(vuu3012, vuu31012, fd)
new_primPlusNat1(Succ(vuu7500), Succ(vuu31010000)) → Succ(Succ(new_primPlusNat1(vuu7500, vuu31010000)))
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Double, bde) → new_esEs12(vuu3010, vuu31010)
new_esEs25(vuu3010, vuu31010, app(ty_[], bbe)) → new_esEs16(vuu3010, vuu31010, bbe)
new_primEqInt(Neg(Succ(vuu30100)), Pos(vuu31010)) → False
new_primEqInt(Pos(Succ(vuu30100)), Neg(vuu31010)) → False
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs24(vuu3010, vuu31010, app(ty_Ratio, baa)) → new_esEs13(vuu3010, vuu31010, baa)
new_esEs24(vuu3010, vuu31010, app(app(ty_@2, hg), hh)) → new_esEs4(vuu3010, vuu31010, hg, hh)
new_esEs22(vuu3012, vuu31012, ty_Ordering) → new_esEs15(vuu3012, vuu31012)
new_esEs11(Right(vuu3010), Right(vuu31010), beh, ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, ty_Float) → new_esEs6(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, app(app(ty_@2, ge), gf)) → new_esEs4(vuu3011, vuu31011, ge, gf)
new_esEs9(vuu3010, vuu31010, app(app(ty_Either, db), dc)) → new_esEs11(vuu3010, vuu31010, db, dc)
new_esEs16(:(vuu3010, vuu3011), :(vuu31010, vuu31011), bag) → new_asAs(new_esEs25(vuu3010, vuu31010, bag), new_esEs16(vuu3011, vuu31011, bag))
new_primEqInt(Pos(Zero), Neg(Succ(vuu310100))) → False
new_primEqInt(Neg(Zero), Pos(Succ(vuu310100))) → False
new_esEs21(vuu3010, vuu31010, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs15(EQ, EQ) → True
new_esEs23(vuu3011, vuu31011, app(ty_Maybe, ha)) → new_esEs17(vuu3011, vuu31011, ha)
new_esEs25(vuu3010, vuu31010, app(ty_Maybe, bbf)) → new_esEs17(vuu3010, vuu31010, bbf)
new_esEs24(vuu3010, vuu31010, app(ty_Maybe, bac)) → new_esEs17(vuu3010, vuu31010, bac)
new_esEs11(Right(vuu3010), Right(vuu31010), beh, ty_Char) → new_esEs19(vuu3010, vuu31010)
new_esEs8(vuu3011, vuu31011, ty_@0) → new_esEs5(vuu3011, vuu31011)
new_esEs17(Just(vuu3010), Just(vuu31010), app(app(app(ty_@3, bdb), bdc), bdd)) → new_esEs18(vuu3010, vuu31010, bdb, bdc, bdd)
new_esEs24(vuu3010, vuu31010, app(app(app(ty_@3, bad), bae), baf)) → new_esEs18(vuu3010, vuu31010, bad, bae, baf)
new_primMulNat0(Zero, Zero) → Zero
new_esEs11(Right(vuu3010), Right(vuu31010), beh, app(app(app(ty_@3, bfh), bga), bgb)) → new_esEs18(vuu3010, vuu31010, bfh, bga, bgb)
new_esEs25(vuu3010, vuu31010, ty_Double) → new_esEs12(vuu3010, vuu31010)
new_esEs25(vuu3010, vuu31010, ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(app(ty_@2, bce), bcf)) → new_esEs4(vuu3010, vuu31010, bce, bcf)
new_esEs21(vuu3010, vuu31010, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, app(ty_Ratio, gg)) → new_esEs13(vuu3011, vuu31011, gg)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_@0, bde) → new_esEs5(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, app(app(app(ty_@3, ea), eb), ec)) → new_esEs18(vuu3010, vuu31010, ea, eb, ec)
new_esEs25(vuu3010, vuu31010, app(app(ty_@2, bbb), bbc)) → new_esEs4(vuu3010, vuu31010, bbb, bbc)
new_esEs11(Right(vuu3010), Right(vuu31010), beh, app(app(ty_@2, bfc), bfd)) → new_esEs4(vuu3010, vuu31010, bfc, bfd)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Float) → new_esEs6(vuu3010, vuu31010)
new_primPlusNat0(Zero, vuu3101000) → Succ(vuu3101000)
new_esEs8(vuu3011, vuu31011, ty_Float) → new_esEs6(vuu3011, vuu31011)
new_esEs8(vuu3011, vuu31011, ty_Double) → new_esEs12(vuu3011, vuu31011)
new_esEs25(vuu3010, vuu31010, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, ty_Int) → new_esEs7(vuu3011, vuu31011)
new_sr(Neg(vuu30100), Pos(vuu310100)) → Neg(new_primMulNat0(vuu30100, vuu310100))
new_sr(Pos(vuu30100), Neg(vuu310100)) → Neg(new_primMulNat0(vuu30100, vuu310100))
new_esEs8(vuu3011, vuu31011, app(app(app(ty_@3, cf), cg), da)) → new_esEs18(vuu3011, vuu31011, cf, cg, da)
new_esEs22(vuu3012, vuu31012, ty_Bool) → new_esEs10(vuu3012, vuu31012)
new_esEs11(Right(vuu3010), Right(vuu31010), beh, app(app(ty_Either, bfa), bfb)) → new_esEs11(vuu3010, vuu31010, bfa, bfb)
new_esEs11(Left(vuu3010), Left(vuu31010), app(app(app(ty_@3, bee), bef), beg), bde) → new_esEs18(vuu3010, vuu31010, bee, bef, beg)
new_esEs22(vuu3012, vuu31012, app(ty_[], ff)) → new_esEs16(vuu3012, vuu31012, ff)
new_esEs11(Right(vuu3010), Right(vuu31010), beh, app(ty_Maybe, bfg)) → new_esEs17(vuu3010, vuu31010, bfg)
new_esEs23(vuu3011, vuu31011, ty_Ordering) → new_esEs15(vuu3011, vuu31011)
new_esEs11(Left(vuu3010), Left(vuu31010), app(ty_[], bec), bde) → new_esEs16(vuu3010, vuu31010, bec)
new_esEs9(vuu3010, vuu31010, ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs10(True, True) → True
new_esEs8(vuu3011, vuu31011, app(app(ty_@2, ca), cb)) → new_esEs4(vuu3011, vuu31011, ca, cb)
new_esEs22(vuu3012, vuu31012, ty_@0) → new_esEs5(vuu3012, vuu31012)
new_esEs11(Left(vuu3010), Left(vuu31010), app(app(ty_Either, bdf), bdg), bde) → new_esEs11(vuu3010, vuu31010, bdf, bdg)
new_esEs9(vuu3010, vuu31010, app(ty_Ratio, df)) → new_esEs13(vuu3010, vuu31010, df)
new_primEqNat0(Zero, Succ(vuu310100)) → False
new_primEqNat0(Succ(vuu30100), Zero) → False
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Double) → new_esEs12(vuu3010, vuu31010)
new_esEs15(LT, GT) → False
new_esEs15(GT, LT) → False
new_esEs23(vuu3011, vuu31011, app(app(app(ty_@3, hb), hc), hd)) → new_esEs18(vuu3011, vuu31011, hb, hc, hd)
new_esEs9(vuu3010, vuu31010, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs5(@0, @0) → True
new_esEs15(LT, LT) → True
new_esEs20(vuu3011, vuu31011, ty_Int) → new_esEs7(vuu3011, vuu31011)
new_esEs16([], :(vuu31010, vuu31011), bag) → False
new_esEs16(:(vuu3010, vuu3011), [], bag) → False
new_esEs22(vuu3012, vuu31012, ty_Int) → new_esEs7(vuu3012, vuu31012)
new_esEs22(vuu3012, vuu31012, app(app(ty_@2, fb), fc)) → new_esEs4(vuu3012, vuu31012, fb, fc)
new_esEs11(Right(vuu3010), Right(vuu31010), beh, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs24(vuu3010, vuu31010, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, ty_@0) → new_esEs5(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, app(app(ty_Either, gc), gd)) → new_esEs11(vuu3011, vuu31011, gc, gd)
new_esEs11(Right(vuu3010), Right(vuu31010), beh, app(ty_[], bff)) → new_esEs16(vuu3010, vuu31010, bff)
new_esEs25(vuu3010, vuu31010, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs15(LT, EQ) → False
new_esEs15(EQ, LT) → False
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Integer, bde) → new_esEs14(vuu3010, vuu31010)
new_esEs14(Integer(vuu3010), Integer(vuu31010)) → new_primEqInt(vuu3010, vuu31010)
new_esEs8(vuu3011, vuu31011, ty_Ordering) → new_esEs15(vuu3011, vuu31011)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Char) → new_esEs19(vuu3010, vuu31010)
new_esEs6(Float(vuu3010, vuu3011), Float(vuu31010, vuu31011)) → new_esEs7(new_sr(vuu3010, vuu31010), new_sr(vuu3011, vuu31011))
new_esEs19(Char(vuu3010), Char(vuu31010)) → new_primEqNat0(vuu3010, vuu31010)
new_esEs22(vuu3012, vuu31012, ty_Char) → new_esEs19(vuu3012, vuu31012)
new_esEs15(EQ, GT) → False
new_esEs15(GT, EQ) → False
new_esEs9(vuu3010, vuu31010, app(app(ty_@2, dd), de)) → new_esEs4(vuu3010, vuu31010, dd, de)
new_esEs25(vuu3010, vuu31010, ty_@0) → new_esEs5(vuu3010, vuu31010)
new_esEs25(vuu3010, vuu31010, ty_Float) → new_esEs6(vuu3010, vuu31010)
new_esEs11(Right(vuu3010), Right(vuu31010), beh, ty_Double) → new_esEs12(vuu3010, vuu31010)
new_sr(Neg(vuu30100), Neg(vuu310100)) → Pos(new_primMulNat0(vuu30100, vuu310100))
new_esEs24(vuu3010, vuu31010, ty_Double) → new_esEs12(vuu3010, vuu31010)
new_esEs11(Right(vuu3010), Right(vuu31010), beh, ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs25(vuu3010, vuu31010, app(ty_Ratio, bbd)) → new_esEs13(vuu3010, vuu31010, bbd)
new_esEs18(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), ee, ef, eg) → new_asAs(new_esEs24(vuu3010, vuu31010, ee), new_asAs(new_esEs23(vuu3011, vuu31011, ef), new_esEs22(vuu3012, vuu31012, eg)))
new_asAs(False, vuu68) → False
new_sr(Pos(vuu30100), Pos(vuu310100)) → Pos(new_primMulNat0(vuu30100, vuu310100))
new_esEs22(vuu3012, vuu31012, ty_Double) → new_esEs12(vuu3012, vuu31012)
new_esEs11(Right(vuu3010), Right(vuu31010), beh, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Left(vuu31010), app(ty_Ratio, beb), bde) → new_esEs13(vuu3010, vuu31010, beb)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Int) → new_esEs7(vuu3010, vuu31010)
new_primEqNat0(Zero, Zero) → True
new_esEs8(vuu3011, vuu31011, ty_Integer) → new_esEs14(vuu3011, vuu31011)
new_primMulNat0(Succ(vuu301000), Zero) → Zero
new_primMulNat0(Zero, Succ(vuu3101000)) → Zero
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Char, bde) → new_esEs19(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(ty_Ratio, bcg)) → new_esEs13(vuu3010, vuu31010, bcg)
new_esEs8(vuu3011, vuu31011, app(ty_[], cd)) → new_esEs16(vuu3011, vuu31011, cd)
new_esEs7(vuu301, vuu3101) → new_primEqInt(vuu301, vuu3101)
new_esEs23(vuu3011, vuu31011, ty_Float) → new_esEs6(vuu3011, vuu31011)
new_esEs24(vuu3010, vuu31010, app(ty_[], bab)) → new_esEs16(vuu3010, vuu31010, bab)
new_esEs8(vuu3011, vuu31011, ty_Int) → new_esEs7(vuu3011, vuu31011)
new_esEs24(vuu3010, vuu31010, ty_@0) → new_esEs5(vuu3010, vuu31010)
new_esEs22(vuu3012, vuu31012, ty_Float) → new_esEs6(vuu3012, vuu31012)
new_esEs24(vuu3010, vuu31010, ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(app(ty_Either, bcc), bcd)) → new_esEs11(vuu3010, vuu31010, bcc, bcd)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Bool, bde) → new_esEs10(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, app(ty_[], dg)) → new_esEs16(vuu3010, vuu31010, dg)
new_esEs22(vuu3012, vuu31012, app(ty_Maybe, fg)) → new_esEs17(vuu3012, vuu31012, fg)
new_esEs8(vuu3011, vuu31011, ty_Bool) → new_esEs10(vuu3011, vuu31011)
new_esEs24(vuu3010, vuu31010, ty_Char) → new_esEs19(vuu3010, vuu31010)
new_primPlusNat0(Succ(vuu750), vuu3101000) → Succ(Succ(new_primPlusNat1(vuu750, vuu3101000)))
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, ty_Bool) → new_esEs10(vuu3011, vuu31011)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Ordering, bde) → new_esEs15(vuu3010, vuu31010)
new_esEs20(vuu3011, vuu31011, ty_Integer) → new_esEs14(vuu3011, vuu31011)
new_esEs25(vuu3010, vuu31010, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs18(vuu3010, vuu31010, bbg, bbh, bca)
new_esEs24(vuu3010, vuu31010, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Left(vuu31010), app(ty_Maybe, bed), bde) → new_esEs17(vuu3010, vuu31010, bed)
new_primEqInt(Neg(Succ(vuu30100)), Neg(Succ(vuu310100))) → new_primEqNat0(vuu30100, vuu310100)
new_esEs11(Left(vuu3010), Left(vuu31010), app(app(ty_@2, bdh), bea), bde) → new_esEs4(vuu3010, vuu31010, bdh, bea)
new_primPlusNat1(Succ(vuu7500), Zero) → Succ(vuu7500)
new_primPlusNat1(Zero, Succ(vuu31010000)) → Succ(vuu31010000)
new_esEs16([], [], bag) → True
new_esEs24(vuu3010, vuu31010, ty_Float) → new_esEs6(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(ty_[], bch)) → new_esEs16(vuu3010, vuu31010, bch)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs24(vuu3010, vuu31010, ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, ty_Char) → new_esEs19(vuu3011, vuu31011)
new_esEs13(:%(vuu3010, vuu3011), :%(vuu31010, vuu31011), ed) → new_asAs(new_esEs21(vuu3010, vuu31010, ed), new_esEs20(vuu3011, vuu31011, ed))
new_esEs11(Right(vuu3010), Right(vuu31010), beh, ty_Float) → new_esEs6(vuu3010, vuu31010)
new_esEs8(vuu3011, vuu31011, app(ty_Ratio, cc)) → new_esEs13(vuu3011, vuu31011, cc)
new_primEqInt(Neg(Succ(vuu30100)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vuu310100))) → False
new_esEs17(Nothing, Nothing, bcb) → True
new_esEs8(vuu3011, vuu31011, app(app(ty_Either, bg), bh)) → new_esEs11(vuu3011, vuu31011, bg, bh)
new_esEs23(vuu3011, vuu31011, ty_Double) → new_esEs12(vuu3011, vuu31011)
new_esEs4(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), be, bf) → new_asAs(new_esEs9(vuu3010, vuu31010, be), new_esEs8(vuu3011, vuu31011, bf))
new_esEs25(vuu3010, vuu31010, app(app(ty_Either, bah), bba)) → new_esEs11(vuu3010, vuu31010, bah, bba)
new_esEs23(vuu3011, vuu31011, app(ty_[], gh)) → new_esEs16(vuu3011, vuu31011, gh)
new_esEs10(False, False) → True
new_primPlusNat1(Zero, Zero) → Zero
new_esEs9(vuu3010, vuu31010, ty_Char) → new_esEs19(vuu3010, vuu31010)
new_asAs(True, vuu68) → vuu68
new_esEs23(vuu3011, vuu31011, ty_Integer) → new_esEs14(vuu3011, vuu31011)
new_esEs8(vuu3011, vuu31011, ty_Char) → new_esEs19(vuu3011, vuu31011)
new_primMulNat0(Succ(vuu301000), Succ(vuu3101000)) → new_primPlusNat0(new_primMulNat0(vuu301000, Succ(vuu3101000)), vuu3101000)
new_esEs10(True, False) → False
new_esEs10(False, True) → False
new_primEqInt(Pos(Succ(vuu30100)), Pos(Succ(vuu310100))) → new_primEqNat0(vuu30100, vuu310100)
new_esEs22(vuu3012, vuu31012, app(app(ty_Either, eh), fa)) → new_esEs11(vuu3012, vuu31012, eh, fa)
new_esEs17(Just(vuu3010), Nothing, bcb) → False
new_esEs17(Nothing, Just(vuu31010), bcb) → False
new_primEqNat0(Succ(vuu30100), Succ(vuu310100)) → new_primEqNat0(vuu30100, vuu310100)
new_esEs11(Right(vuu3010), Right(vuu31010), beh, app(ty_Ratio, bfe)) → new_esEs13(vuu3010, vuu31010, bfe)
new_esEs15(GT, GT) → True
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(ty_Maybe, bda)) → new_esEs17(vuu3010, vuu31010, bda)
new_esEs25(vuu3010, vuu31010, ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs12(Double(vuu3010, vuu3011), Double(vuu31010, vuu31011)) → new_esEs7(new_sr(vuu3010, vuu31010), new_sr(vuu3011, vuu31011))
new_esEs24(vuu3010, vuu31010, app(app(ty_Either, he), hf)) → new_esEs11(vuu3010, vuu31010, he, hf)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_@0) → new_esEs5(vuu3010, vuu31010)
new_primEqInt(Pos(Zero), Pos(Succ(vuu310100))) → False
new_primEqInt(Pos(Succ(vuu30100)), Pos(Zero)) → False
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Int, bde) → new_esEs7(vuu3010, vuu31010)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs9(vuu3010, vuu31010, ty_Double) → new_esEs12(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, ty_@0) → new_esEs5(vuu3011, vuu31011)
new_esEs8(vuu3011, vuu31011, app(ty_Maybe, ce)) → new_esEs17(vuu3011, vuu31011, ce)
new_esEs11(Right(vuu3010), Right(vuu31010), beh, ty_@0) → new_esEs5(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Float, bde) → new_esEs6(vuu3010, vuu31010)
new_esEs22(vuu3012, vuu31012, app(app(app(ty_@3, fh), ga), gb)) → new_esEs18(vuu3012, vuu31012, fh, ga, gb)
new_esEs11(Right(vuu3010), Left(vuu31010), beh, bde) → False
new_esEs11(Left(vuu3010), Right(vuu31010), beh, bde) → False
The set Q consists of the following terms:
new_esEs21(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Double)
new_esEs5(@0, @0)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr(Neg(x0), Neg(x1))
new_esEs11(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs23(x0, x1, ty_Float)
new_esEs11(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs24(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs22(x0, x1, ty_Bool)
new_primPlusNat1(Succ(x0), Succ(x1))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, ty_Bool)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs17(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs22(x0, x1, ty_@0)
new_esEs17(Just(x0), Just(x1), ty_Double)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs20(x0, x1, ty_Int)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, ty_Bool)
new_esEs8(x0, x1, ty_Int)
new_asAs(False, x0)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Integer)
new_esEs17(Just(x0), Just(x1), ty_Bool)
new_esEs9(x0, x1, ty_@0)
new_esEs11(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs22(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Int)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Succ(x0), Zero)
new_esEs11(Right(x0), Right(x1), x2, ty_Double)
new_esEs23(x0, x1, ty_@0)
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs18(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs25(x0, x1, ty_@0)
new_esEs11(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs6(Float(x0, x1), Float(x2, x3))
new_esEs11(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_sr(Pos(x0), Pos(x1))
new_esEs24(x0, x1, ty_Int)
new_esEs7(x0, x1)
new_esEs23(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Ordering)
new_esEs17(Just(x0), Just(x1), ty_Integer)
new_esEs25(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Double)
new_esEs11(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs9(x0, x1, ty_Char)
new_primMulNat0(Zero, Succ(x0))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs11(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(Right(x0), Right(x1), x2, ty_Integer)
new_esEs16(:(x0, x1), [], x2)
new_esEs17(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs19(Char(x0), Char(x1))
new_esEs16([], [], x0)
new_esEs17(Just(x0), Just(x1), ty_@0)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_esEs8(x0, x1, ty_Bool)
new_esEs11(Left(x0), Left(x1), ty_Bool, x2)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, ty_Integer)
new_esEs11(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, ty_Integer)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(Left(x0), Left(x1), ty_Float, x2)
new_esEs16([], :(x0, x1), x2)
new_esEs10(False, False)
new_esEs17(Just(x0), Nothing, x1)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs11(Right(x0), Right(x1), x2, ty_Char)
new_esEs8(x0, x1, ty_@0)
new_primEqNat0(Zero, Zero)
new_esEs23(x0, x1, ty_Integer)
new_esEs11(Left(x0), Left(x1), ty_Integer, x2)
new_esEs17(Nothing, Just(x0), x1)
new_primPlusNat1(Succ(x0), Zero)
new_esEs17(Just(x0), Just(x1), ty_Int)
new_esEs25(x0, x1, ty_Double)
new_esEs17(Nothing, Nothing, x0)
new_esEs8(x0, x1, ty_Double)
new_esEs15(GT, GT)
new_esEs17(Just(x0), Just(x1), app(ty_[], x2))
new_esEs17(Just(x0), Just(x1), ty_Ordering)
new_esEs24(x0, x1, ty_Char)
new_esEs11(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs15(LT, GT)
new_esEs15(GT, LT)
new_primMulNat0(Succ(x0), Zero)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_primMulNat0(Zero, Zero)
new_esEs11(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs8(x0, x1, ty_Ordering)
new_esEs10(False, True)
new_esEs10(True, False)
new_esEs11(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Char)
new_esEs11(Right(x0), Right(x1), x2, ty_Int)
new_esEs22(x0, x1, ty_Int)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs17(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs11(Right(x0), Left(x1), x2, x3)
new_esEs11(Left(x0), Right(x1), x2, x3)
new_esEs24(x0, x1, ty_Double)
new_esEs11(Left(x0), Left(x1), ty_Int, x2)
new_esEs15(EQ, EQ)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_asAs(True, x0)
new_esEs24(x0, x1, ty_Float)
new_esEs11(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Char)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs11(Left(x0), Left(x1), ty_@0, x2)
new_esEs8(x0, x1, ty_Float)
new_esEs17(Just(x0), Just(x1), ty_Float)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Char)
new_esEs22(x0, x1, ty_Integer)
new_esEs11(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_sr(Pos(x0), Neg(x1))
new_sr(Neg(x0), Pos(x1))
new_esEs17(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, app(ty_[], x2))
new_primPlusNat0(Succ(x0), x1)
new_esEs17(Just(x0), Just(x1), ty_Char)
new_esEs11(Left(x0), Left(x1), ty_Double, x2)
new_esEs17(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs14(Integer(x0), Integer(x1))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs11(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat1(Zero, Zero)
new_primEqNat0(Zero, Succ(x0))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs10(True, True)
new_esEs11(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs23(x0, x1, ty_Double)
new_esEs15(LT, EQ)
new_esEs15(EQ, LT)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs12(Double(x0, x1), Double(x2, x3))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, ty_Float)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs11(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs9(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs11(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs15(LT, LT)
new_esEs11(Right(x0), Right(x1), x2, ty_Float)
new_esEs8(x0, x1, ty_Char)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs15(EQ, GT)
new_esEs15(GT, EQ)
new_primPlusNat1(Zero, Succ(x0))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_Bool)
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_span2Ys(vuu37, vuu38, :(vuu410, vuu411), ba, bb) → new_span2Ys1(vuu37, vuu38, vuu410, vuu411, new_esEs4(@2(vuu37, vuu38), vuu410, ba, bb), ba, bb)
The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4, 4 >= 6, 5 >= 7
- new_span2Zs(vuu57, vuu58, :(vuu610, vuu611), bc, bd) → new_span2Zs1(vuu57, vuu58, vuu610, vuu611, new_esEs4(@2(vuu57, vuu58), vuu610, bc, bd), bc, bd)
The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4, 4 >= 6, 5 >= 7
- new_span2Zs1(vuu57, vuu58, vuu610, vuu611, True, bc, bd) → new_span2Zs(vuu57, vuu58, vuu611, bc, bd)
The graph contains the following edges 1 >= 1, 2 >= 2, 4 >= 3, 6 >= 4, 7 >= 5
- new_span2Zs1(vuu57, vuu58, vuu610, vuu611, True, bc, bd) → new_span2Ys(vuu57, vuu58, vuu611, bc, bd)
The graph contains the following edges 1 >= 1, 2 >= 2, 4 >= 3, 6 >= 4, 7 >= 5
- new_span2Ys1(vuu37, vuu38, vuu410, vuu411, True, ba, bb) → new_span2Zs(vuu37, vuu38, vuu411, ba, bb)
The graph contains the following edges 1 >= 1, 2 >= 2, 4 >= 3, 6 >= 4, 7 >= 5
- new_span2Ys1(vuu37, vuu38, vuu410, vuu411, True, ba, bb) → new_span2Ys(vuu37, vuu38, vuu411, ba, bb)
The graph contains the following edges 1 >= 1, 2 >= 2, 4 >= 3, 6 >= 4, 7 >= 5
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
Q DP problem:
The TRS P consists of the following rules:
new_groupBy(:(vuu30, vuu31), ba, bb) → new_groupBy(new_groupByZs0(vuu30, vuu31, ba, bb), ba, bb)
The TRS R consists of the following rules:
new_esEs9(vuu3010, vuu31010, app(ty_Maybe, dh)) → new_esEs17(vuu3010, vuu31010, dh)
new_esEs25(vuu3010, vuu31010, ty_Char) → new_esEs19(vuu3010, vuu31010)
new_esEs22(vuu3012, vuu31012, ty_Integer) → new_esEs14(vuu3012, vuu31012)
new_esEs22(vuu3012, vuu31012, app(ty_Ratio, fc)) → new_esEs13(vuu3012, vuu31012, fc)
new_esEs27(vuu300, vuu3100, app(ty_[], bcb)) → new_esEs16(vuu300, vuu3100, bcb)
new_esEs27(vuu300, vuu3100, ty_Char) → new_esEs19(vuu300, vuu3100)
new_primPlusNat1(Succ(vuu7500), Succ(vuu31010000)) → Succ(Succ(new_primPlusNat1(vuu7500, vuu31010000)))
new_esEs25(vuu3010, vuu31010, app(ty_[], bdd)) → new_esEs16(vuu3010, vuu31010, bdd)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Double, bba) → new_esEs12(vuu3010, vuu31010)
new_primEqInt(Neg(Succ(vuu30100)), Pos(vuu31010)) → False
new_primEqInt(Pos(Succ(vuu30100)), Neg(vuu31010)) → False
new_esEs24(vuu3010, vuu31010, app(ty_Ratio, hh)) → new_esEs13(vuu3010, vuu31010, hh)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs22(vuu3012, vuu31012, ty_Ordering) → new_esEs15(vuu3012, vuu31012)
new_esEs24(vuu3010, vuu31010, app(app(ty_@2, hf), hg)) → new_esEs4(vuu3010, vuu31010, hf, hg)
new_esEs27(vuu300, vuu3100, ty_Double) → new_esEs12(vuu300, vuu3100)
new_esEs9(vuu3010, vuu31010, ty_Float) → new_esEs6(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, app(app(ty_@2, gd), ge)) → new_esEs4(vuu3011, vuu31011, gd, ge)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, app(app(ty_Either, db), dc)) → new_esEs11(vuu3010, vuu31010, db, dc)
new_esEs16(:(vuu3010, vuu3011), :(vuu31010, vuu31011), bbc) → new_asAs(new_esEs25(vuu3010, vuu31010, bbc), new_esEs16(vuu3011, vuu31011, bbc))
new_esEs21(vuu3010, vuu31010, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_primEqInt(Neg(Zero), Pos(Succ(vuu310100))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vuu310100))) → False
new_esEs15(EQ, EQ) → True
new_esEs23(vuu3011, vuu31011, app(ty_Maybe, gh)) → new_esEs17(vuu3011, vuu31011, gh)
new_esEs25(vuu3010, vuu31010, app(ty_Maybe, bde)) → new_esEs17(vuu3010, vuu31010, bde)
new_esEs24(vuu3010, vuu31010, app(ty_Maybe, bab)) → new_esEs17(vuu3010, vuu31010, bab)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Char) → new_esEs19(vuu3010, vuu31010)
new_esEs8(vuu3011, vuu31011, ty_@0) → new_esEs5(vuu3011, vuu31011)
new_esEs24(vuu3010, vuu31010, app(app(app(ty_@3, bac), bad), bae)) → new_esEs18(vuu3010, vuu31010, bac, bad, bae)
new_esEs17(Just(vuu3010), Just(vuu31010), app(app(app(ty_@3, beh), bfa), bfb)) → new_esEs18(vuu3010, vuu31010, beh, bfa, bfb)
new_primMulNat0(Zero, Zero) → Zero
new_esEs11(Right(vuu3010), Right(vuu31010), bah, app(app(app(ty_@3, bhd), bhe), bhf)) → new_esEs18(vuu3010, vuu31010, bhd, bhe, bhf)
new_esEs25(vuu3010, vuu31010, ty_Double) → new_esEs12(vuu3010, vuu31010)
new_esEs25(vuu3010, vuu31010, ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(app(ty_@2, bec), bed)) → new_esEs4(vuu3010, vuu31010, bec, bed)
new_esEs26(vuu301, vuu3101, app(ty_[], bbc)) → new_esEs16(vuu301, vuu3101, bbc)
new_esEs21(vuu3010, vuu31010, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, app(ty_Ratio, gf)) → new_esEs13(vuu3011, vuu31011, gf)
new_esEs9(vuu3010, vuu31010, ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_@0, bba) → new_esEs5(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, app(app(app(ty_@3, ea), eb), ec)) → new_esEs18(vuu3010, vuu31010, ea, eb, ec)
new_esEs25(vuu3010, vuu31010, app(app(ty_@2, bda), bdb)) → new_esEs4(vuu3010, vuu31010, bda, bdb)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, app(app(ty_@2, bgg), bgh)) → new_esEs4(vuu3010, vuu31010, bgg, bgh)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Float) → new_esEs6(vuu3010, vuu31010)
new_primPlusNat0(Zero, vuu3101000) → Succ(vuu3101000)
new_esEs8(vuu3011, vuu31011, ty_Float) → new_esEs6(vuu3011, vuu31011)
new_esEs27(vuu300, vuu3100, app(ty_Maybe, bcc)) → new_esEs17(vuu300, vuu3100, bcc)
new_esEs8(vuu3011, vuu31011, ty_Double) → new_esEs12(vuu3011, vuu31011)
new_esEs26(vuu301, vuu3101, app(app(app(ty_@3, ed), ee), ef)) → new_esEs18(vuu301, vuu3101, ed, ee, ef)
new_span2Ys10(vuu37, vuu38, vuu410, vuu411, False, baf, bag) → []
new_esEs25(vuu3010, vuu31010, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, ty_Int) → new_esEs7(vuu3011, vuu31011)
new_esEs26(vuu301, vuu3101, ty_Float) → new_esEs6(vuu301, vuu3101)
new_sr(Neg(vuu30100), Pos(vuu310100)) → Neg(new_primMulNat0(vuu30100, vuu310100))
new_sr(Pos(vuu30100), Neg(vuu310100)) → Neg(new_primMulNat0(vuu30100, vuu310100))
new_esEs8(vuu3011, vuu31011, app(app(app(ty_@3, cf), cg), da)) → new_esEs18(vuu3011, vuu31011, cf, cg, da)
new_groupByZs00(vuu57, vuu58, vuu59, vuu60, vuu61, True, bc, bd) → new_span2Zs0(vuu57, vuu58, vuu61, bc, bd)
new_esEs22(vuu3012, vuu31012, ty_Bool) → new_esEs10(vuu3012, vuu31012)
new_esEs27(vuu300, vuu3100, ty_@0) → new_esEs5(vuu300, vuu3100)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, app(app(ty_Either, bge), bgf)) → new_esEs11(vuu3010, vuu31010, bge, bgf)
new_esEs11(Left(vuu3010), Left(vuu31010), app(app(app(ty_@3, bgb), bgc), bgd), bba) → new_esEs18(vuu3010, vuu31010, bgb, bgc, bgd)
new_esEs27(vuu300, vuu3100, ty_Bool) → new_esEs10(vuu300, vuu3100)
new_esEs22(vuu3012, vuu31012, app(ty_[], fd)) → new_esEs16(vuu3012, vuu31012, fd)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, app(ty_Maybe, bhc)) → new_esEs17(vuu3010, vuu31010, bhc)
new_esEs23(vuu3011, vuu31011, ty_Ordering) → new_esEs15(vuu3011, vuu31011)
new_esEs9(vuu3010, vuu31010, ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Left(vuu31010), app(ty_[], bfh), bba) → new_esEs16(vuu3010, vuu31010, bfh)
new_esEs10(True, True) → True
new_esEs27(vuu300, vuu3100, app(app(ty_Either, bbe), bbf)) → new_esEs11(vuu300, vuu3100, bbe, bbf)
new_esEs26(vuu301, vuu3101, ty_Integer) → new_esEs14(vuu301, vuu3101)
new_esEs8(vuu3011, vuu31011, app(app(ty_@2, ca), cb)) → new_esEs4(vuu3011, vuu31011, ca, cb)
new_esEs22(vuu3012, vuu31012, ty_@0) → new_esEs5(vuu3012, vuu31012)
new_esEs11(Left(vuu3010), Left(vuu31010), app(app(ty_Either, bfc), bfd), bba) → new_esEs11(vuu3010, vuu31010, bfc, bfd)
new_esEs9(vuu3010, vuu31010, app(ty_Ratio, df)) → new_esEs13(vuu3010, vuu31010, df)
new_esEs26(vuu301, vuu3101, ty_@0) → new_esEs5(vuu301, vuu3101)
new_primEqNat0(Succ(vuu30100), Zero) → False
new_primEqNat0(Zero, Succ(vuu310100)) → False
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Double) → new_esEs12(vuu3010, vuu31010)
new_esEs15(GT, LT) → False
new_esEs15(LT, GT) → False
new_esEs23(vuu3011, vuu31011, app(app(app(ty_@3, ha), hb), hc)) → new_esEs18(vuu3011, vuu31011, ha, hb, hc)
new_esEs9(vuu3010, vuu31010, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs26(vuu301, vuu3101, ty_Bool) → new_esEs10(vuu301, vuu3101)
new_groupByZs0(vuu30, [], ba, bb) → []
new_groupByZs0(@2(vuu300, vuu301), :(@2(vuu3100, vuu3101), vuu311), ba, bb) → new_groupByZs00(vuu300, vuu301, vuu3100, vuu3101, vuu311, new_asAs(new_esEs27(vuu300, vuu3100, ba), new_esEs26(vuu301, vuu3101, bb)), ba, bb)
new_esEs5(@0, @0) → True
new_esEs20(vuu3011, vuu31011, ty_Int) → new_esEs7(vuu3011, vuu31011)
new_esEs26(vuu301, vuu3101, app(app(ty_Either, bah), bba)) → new_esEs11(vuu301, vuu3101, bah, bba)
new_esEs15(LT, LT) → True
new_esEs16([], :(vuu31010, vuu31011), bbc) → False
new_esEs16(:(vuu3010, vuu3011), [], bbc) → False
new_esEs22(vuu3012, vuu31012, ty_Int) → new_esEs7(vuu3012, vuu31012)
new_esEs27(vuu300, vuu3100, ty_Ordering) → new_esEs15(vuu300, vuu3100)
new_esEs22(vuu3012, vuu31012, app(app(ty_@2, fa), fb)) → new_esEs4(vuu3012, vuu31012, fa, fb)
new_esEs26(vuu301, vuu3101, ty_Ordering) → new_esEs15(vuu301, vuu3101)
new_esEs24(vuu3010, vuu31010, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, ty_@0) → new_esEs5(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, app(app(ty_Either, gb), gc)) → new_esEs11(vuu3011, vuu31011, gb, gc)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, app(ty_[], bhb)) → new_esEs16(vuu3010, vuu31010, bhb)
new_esEs25(vuu3010, vuu31010, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs15(EQ, LT) → False
new_esEs15(LT, EQ) → False
new_esEs14(Integer(vuu3010), Integer(vuu31010)) → new_primEqInt(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Integer, bba) → new_esEs14(vuu3010, vuu31010)
new_esEs26(vuu301, vuu3101, ty_Char) → new_esEs19(vuu301, vuu3101)
new_span2Ys11(vuu37, vuu38, vuu410, vuu411, vuu72, vuu71, baf, bag) → :(vuu410, vuu72)
new_esEs8(vuu3011, vuu31011, ty_Ordering) → new_esEs15(vuu3011, vuu31011)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Char) → new_esEs19(vuu3010, vuu31010)
new_groupByZs00(vuu57, vuu58, vuu59, vuu60, vuu61, False, bc, bd) → :(@2(vuu59, vuu60), vuu61)
new_esEs26(vuu301, vuu3101, ty_Double) → new_esEs12(vuu301, vuu3101)
new_esEs6(Float(vuu3010, vuu3011), Float(vuu31010, vuu31011)) → new_esEs7(new_sr(vuu3010, vuu31010), new_sr(vuu3011, vuu31011))
new_esEs19(Char(vuu3010), Char(vuu31010)) → new_primEqNat0(vuu3010, vuu31010)
new_esEs22(vuu3012, vuu31012, ty_Char) → new_esEs19(vuu3012, vuu31012)
new_esEs15(GT, EQ) → False
new_esEs15(EQ, GT) → False
new_esEs9(vuu3010, vuu31010, app(app(ty_@2, dd), de)) → new_esEs4(vuu3010, vuu31010, dd, de)
new_esEs25(vuu3010, vuu31010, ty_@0) → new_esEs5(vuu3010, vuu31010)
new_esEs25(vuu3010, vuu31010, ty_Float) → new_esEs6(vuu3010, vuu31010)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Double) → new_esEs12(vuu3010, vuu31010)
new_sr(Neg(vuu30100), Neg(vuu310100)) → Pos(new_primMulNat0(vuu30100, vuu310100))
new_esEs27(vuu300, vuu3100, ty_Int) → new_esEs7(vuu300, vuu3100)
new_esEs24(vuu3010, vuu31010, ty_Double) → new_esEs12(vuu3010, vuu31010)
new_span2Ys0(vuu37, vuu38, [], baf, bag) → []
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs25(vuu3010, vuu31010, app(ty_Ratio, bdc)) → new_esEs13(vuu3010, vuu31010, bdc)
new_esEs18(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), ed, ee, ef) → new_asAs(new_esEs24(vuu3010, vuu31010, ed), new_asAs(new_esEs23(vuu3011, vuu31011, ee), new_esEs22(vuu3012, vuu31012, ef)))
new_sr(Pos(vuu30100), Pos(vuu310100)) → Pos(new_primMulNat0(vuu30100, vuu310100))
new_asAs(False, vuu68) → False
new_esEs22(vuu3012, vuu31012, ty_Double) → new_esEs12(vuu3012, vuu31012)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Left(vuu31010), app(ty_Ratio, bfg), bba) → new_esEs13(vuu3010, vuu31010, bfg)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Int) → new_esEs7(vuu3010, vuu31010)
new_primEqNat0(Zero, Zero) → True
new_primMulNat0(Zero, Succ(vuu3101000)) → Zero
new_primMulNat0(Succ(vuu301000), Zero) → Zero
new_esEs8(vuu3011, vuu31011, ty_Integer) → new_esEs14(vuu3011, vuu31011)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Char, bba) → new_esEs19(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(ty_Ratio, bee)) → new_esEs13(vuu3010, vuu31010, bee)
new_esEs8(vuu3011, vuu31011, app(ty_[], cd)) → new_esEs16(vuu3011, vuu31011, cd)
new_esEs7(vuu301, vuu3101) → new_primEqInt(vuu301, vuu3101)
new_esEs26(vuu301, vuu3101, app(ty_Ratio, bbb)) → new_esEs13(vuu301, vuu3101, bbb)
new_esEs23(vuu3011, vuu31011, ty_Float) → new_esEs6(vuu3011, vuu31011)
new_esEs8(vuu3011, vuu31011, ty_Int) → new_esEs7(vuu3011, vuu31011)
new_esEs24(vuu3010, vuu31010, app(ty_[], baa)) → new_esEs16(vuu3010, vuu31010, baa)
new_esEs27(vuu300, vuu3100, app(ty_Ratio, bca)) → new_esEs13(vuu300, vuu3100, bca)
new_esEs24(vuu3010, vuu31010, ty_@0) → new_esEs5(vuu3010, vuu31010)
new_esEs27(vuu300, vuu3100, ty_Float) → new_esEs6(vuu300, vuu3100)
new_esEs22(vuu3012, vuu31012, ty_Float) → new_esEs6(vuu3012, vuu31012)
new_esEs24(vuu3010, vuu31010, ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(app(ty_Either, bea), beb)) → new_esEs11(vuu3010, vuu31010, bea, beb)
new_esEs26(vuu301, vuu3101, app(ty_Maybe, bbd)) → new_esEs17(vuu301, vuu3101, bbd)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Bool, bba) → new_esEs10(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, app(ty_[], dg)) → new_esEs16(vuu3010, vuu31010, dg)
new_esEs26(vuu301, vuu3101, ty_Int) → new_esEs7(vuu301, vuu3101)
new_esEs22(vuu3012, vuu31012, app(ty_Maybe, ff)) → new_esEs17(vuu3012, vuu31012, ff)
new_esEs8(vuu3011, vuu31011, ty_Bool) → new_esEs10(vuu3011, vuu31011)
new_esEs24(vuu3010, vuu31010, ty_Char) → new_esEs19(vuu3010, vuu31010)
new_primPlusNat0(Succ(vuu750), vuu3101000) → Succ(Succ(new_primPlusNat1(vuu750, vuu3101000)))
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, ty_Bool) → new_esEs10(vuu3011, vuu31011)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Ordering, bba) → new_esEs15(vuu3010, vuu31010)
new_esEs20(vuu3011, vuu31011, ty_Integer) → new_esEs14(vuu3011, vuu31011)
new_span2Zs11(vuu57, vuu58, vuu610, vuu611, False, bc, bd) → :(vuu610, vuu611)
new_esEs25(vuu3010, vuu31010, app(app(app(ty_@3, bdf), bdg), bdh)) → new_esEs18(vuu3010, vuu31010, bdf, bdg, bdh)
new_esEs24(vuu3010, vuu31010, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs27(vuu300, vuu3100, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs18(vuu300, vuu3100, bcd, bce, bcf)
new_span2Zs0(vuu57, vuu58, [], bc, bd) → []
new_esEs11(Left(vuu3010), Left(vuu31010), app(ty_Maybe, bga), bba) → new_esEs17(vuu3010, vuu31010, bga)
new_primEqInt(Neg(Succ(vuu30100)), Neg(Succ(vuu310100))) → new_primEqNat0(vuu30100, vuu310100)
new_esEs11(Left(vuu3010), Left(vuu31010), app(app(ty_@2, bfe), bff), bba) → new_esEs4(vuu3010, vuu31010, bfe, bff)
new_esEs27(vuu300, vuu3100, app(app(ty_@2, bbg), bbh)) → new_esEs4(vuu300, vuu3100, bbg, bbh)
new_primPlusNat1(Zero, Succ(vuu31010000)) → Succ(vuu31010000)
new_primPlusNat1(Succ(vuu7500), Zero) → Succ(vuu7500)
new_span2Zs11(vuu57, vuu58, vuu610, vuu611, True, bc, bd) → new_span2Zs10(vuu57, vuu58, vuu610, vuu611, new_span2Ys0(vuu57, vuu58, vuu611, bc, bd), new_span2Zs0(vuu57, vuu58, vuu611, bc, bd), bc, bd)
new_esEs16([], [], bbc) → True
new_esEs24(vuu3010, vuu31010, ty_Float) → new_esEs6(vuu3010, vuu31010)
new_span2Zs10(vuu57, vuu58, vuu610, vuu611, vuu74, vuu73, bc, bd) → vuu73
new_esEs9(vuu3010, vuu31010, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(ty_[], bef)) → new_esEs16(vuu3010, vuu31010, bef)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs23(vuu3011, vuu31011, ty_Char) → new_esEs19(vuu3011, vuu31011)
new_esEs24(vuu3010, vuu31010, ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs13(:%(vuu3010, vuu3011), :%(vuu31010, vuu31011), bbb) → new_asAs(new_esEs21(vuu3010, vuu31010, bbb), new_esEs20(vuu3011, vuu31011, bbb))
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Float) → new_esEs6(vuu3010, vuu31010)
new_esEs8(vuu3011, vuu31011, app(ty_Ratio, cc)) → new_esEs13(vuu3011, vuu31011, cc)
new_primEqInt(Neg(Zero), Neg(Succ(vuu310100))) → False
new_primEqInt(Neg(Succ(vuu30100)), Neg(Zero)) → False
new_esEs17(Nothing, Nothing, bbd) → True
new_esEs8(vuu3011, vuu31011, app(app(ty_Either, bg), bh)) → new_esEs11(vuu3011, vuu31011, bg, bh)
new_span2Ys10(vuu37, vuu38, vuu410, vuu411, True, baf, bag) → new_span2Ys11(vuu37, vuu38, vuu410, vuu411, new_span2Ys0(vuu37, vuu38, vuu411, baf, bag), new_span2Zs0(vuu37, vuu38, vuu411, baf, bag), baf, bag)
new_esEs23(vuu3011, vuu31011, ty_Double) → new_esEs12(vuu3011, vuu31011)
new_esEs4(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), be, bf) → new_asAs(new_esEs9(vuu3010, vuu31010, be), new_esEs8(vuu3011, vuu31011, bf))
new_esEs25(vuu3010, vuu31010, app(app(ty_Either, bcg), bch)) → new_esEs11(vuu3010, vuu31010, bcg, bch)
new_esEs23(vuu3011, vuu31011, app(ty_[], gg)) → new_esEs16(vuu3011, vuu31011, gg)
new_esEs10(False, False) → True
new_primPlusNat1(Zero, Zero) → Zero
new_esEs9(vuu3010, vuu31010, ty_Char) → new_esEs19(vuu3010, vuu31010)
new_esEs27(vuu300, vuu3100, ty_Integer) → new_esEs14(vuu300, vuu3100)
new_span2Ys0(vuu37, vuu38, :(vuu410, vuu411), baf, bag) → new_span2Ys10(vuu37, vuu38, vuu410, vuu411, new_esEs4(@2(vuu37, vuu38), vuu410, baf, bag), baf, bag)
new_asAs(True, vuu68) → vuu68
new_esEs23(vuu3011, vuu31011, ty_Integer) → new_esEs14(vuu3011, vuu31011)
new_esEs8(vuu3011, vuu31011, ty_Char) → new_esEs19(vuu3011, vuu31011)
new_primMulNat0(Succ(vuu301000), Succ(vuu3101000)) → new_primPlusNat0(new_primMulNat0(vuu301000, Succ(vuu3101000)), vuu3101000)
new_esEs10(True, False) → False
new_esEs10(False, True) → False
new_span2Zs0(vuu57, vuu58, :(vuu610, vuu611), bc, bd) → new_span2Zs11(vuu57, vuu58, vuu610, vuu611, new_esEs4(@2(vuu57, vuu58), vuu610, bc, bd), bc, bd)
new_primEqInt(Pos(Succ(vuu30100)), Pos(Succ(vuu310100))) → new_primEqNat0(vuu30100, vuu310100)
new_esEs22(vuu3012, vuu31012, app(app(ty_Either, eg), eh)) → new_esEs11(vuu3012, vuu31012, eg, eh)
new_esEs17(Just(vuu3010), Nothing, bbd) → False
new_esEs17(Nothing, Just(vuu31010), bbd) → False
new_primEqNat0(Succ(vuu30100), Succ(vuu310100)) → new_primEqNat0(vuu30100, vuu310100)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, app(ty_Ratio, bha)) → new_esEs13(vuu3010, vuu31010, bha)
new_esEs15(GT, GT) → True
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(ty_Maybe, beg)) → new_esEs17(vuu3010, vuu31010, beg)
new_esEs26(vuu301, vuu3101, app(app(ty_@2, be), bf)) → new_esEs4(vuu301, vuu3101, be, bf)
new_esEs25(vuu3010, vuu31010, ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs12(Double(vuu3010, vuu3011), Double(vuu31010, vuu31011)) → new_esEs7(new_sr(vuu3010, vuu31010), new_sr(vuu3011, vuu31011))
new_esEs24(vuu3010, vuu31010, app(app(ty_Either, hd), he)) → new_esEs11(vuu3010, vuu31010, hd, he)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_@0) → new_esEs5(vuu3010, vuu31010)
new_primEqInt(Pos(Zero), Pos(Succ(vuu310100))) → False
new_primEqInt(Pos(Succ(vuu30100)), Pos(Zero)) → False
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Int, bba) → new_esEs7(vuu3010, vuu31010)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs9(vuu3010, vuu31010, ty_Double) → new_esEs12(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, ty_@0) → new_esEs5(vuu3011, vuu31011)
new_esEs8(vuu3011, vuu31011, app(ty_Maybe, ce)) → new_esEs17(vuu3011, vuu31011, ce)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_@0) → new_esEs5(vuu3010, vuu31010)
new_esEs22(vuu3012, vuu31012, app(app(app(ty_@3, fg), fh), ga)) → new_esEs18(vuu3012, vuu31012, fg, fh, ga)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Float, bba) → new_esEs6(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Right(vuu31010), bah, bba) → False
new_esEs11(Right(vuu3010), Left(vuu31010), bah, bba) → False
The set Q consists of the following terms:
new_esEs17(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Int)
new_esEs11(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, ty_Double)
new_esEs5(@0, @0)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_span2Ys11(x0, x1, x2, x3, x4, x5, x6, x7)
new_sr(Neg(x0), Neg(x1))
new_esEs11(Right(x0), Right(x1), x2, ty_Double)
new_esEs11(Left(x0), Left(x1), ty_Int, x2)
new_esEs23(x0, x1, ty_Float)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs27(x0, x1, ty_Bool)
new_esEs17(Just(x0), Just(x1), app(ty_[], x2))
new_esEs24(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs22(x0, x1, ty_Bool)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs11(Right(x0), Right(x1), x2, ty_Float)
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, ty_Bool)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_span2Zs10(x0, x1, x2, x3, x4, x5, x6, x7)
new_esEs11(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs17(Just(x0), Just(x1), ty_Double)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Char)
new_esEs24(x0, x1, ty_Bool)
new_esEs8(x0, x1, ty_Int)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_asAs(False, x0)
new_esEs24(x0, x1, ty_Integer)
new_esEs17(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_@0)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs25(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Int)
new_esEs11(Left(x0), Left(x1), ty_Integer, x2)
new_primEqNat0(Succ(x0), Zero)
new_esEs23(x0, x1, ty_@0)
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs18(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_span2Ys0(x0, x1, [], x2, x3)
new_esEs16(:(x0, x1), [], x2)
new_esEs25(x0, x1, ty_@0)
new_esEs11(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs17(Just(x0), Nothing, x1)
new_groupByZs00(x0, x1, x2, x3, x4, False, x5, x6)
new_esEs6(Float(x0, x1), Float(x2, x3))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_sr(Pos(x0), Pos(x1))
new_esEs24(x0, x1, ty_Int)
new_esEs7(x0, x1)
new_esEs23(x0, x1, ty_Int)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_groupByZs00(x0, x1, x2, x3, x4, True, x5, x6)
new_esEs22(x0, x1, ty_Float)
new_esEs17(Nothing, Nothing, x0)
new_esEs9(x0, x1, ty_Ordering)
new_esEs17(Just(x0), Just(x1), ty_Integer)
new_esEs25(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Double)
new_esEs9(x0, x1, ty_Char)
new_primMulNat0(Zero, Succ(x0))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs11(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs11(Left(x0), Left(x1), ty_Char, x2)
new_esEs11(Left(x0), Left(x1), ty_Double, x2)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs19(Char(x0), Char(x1))
new_esEs17(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs11(Right(x0), Right(x1), x2, ty_Bool)
new_esEs17(Just(x0), Just(x1), ty_@0)
new_esEs8(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Integer)
new_esEs20(x0, x1, ty_Integer)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_span2Zs0(x0, x1, [], x2, x3)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(False, False)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs11(Left(x0), Left(x1), ty_Bool, x2)
new_esEs8(x0, x1, ty_@0)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs11(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs11(Left(x0), Right(x1), x2, x3)
new_esEs11(Right(x0), Left(x1), x2, x3)
new_primEqNat0(Zero, Zero)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Ordering)
new_esEs11(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), Zero)
new_esEs17(Just(x0), Just(x1), ty_Int)
new_esEs25(x0, x1, ty_Double)
new_esEs15(GT, GT)
new_esEs8(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Double)
new_esEs17(Nothing, Just(x0), x1)
new_esEs17(Just(x0), Just(x1), ty_Ordering)
new_esEs24(x0, x1, ty_Char)
new_groupByZs0(@2(x0, x1), :(@2(x2, x3), x4), x5, x6)
new_esEs15(GT, LT)
new_esEs15(LT, GT)
new_primMulNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs11(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs8(x0, x1, ty_Ordering)
new_esEs10(True, False)
new_esEs10(False, True)
new_esEs11(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Char)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs17(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Float)
new_esEs16([], :(x0, x1), x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Double)
new_esEs15(EQ, EQ)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_asAs(True, x0)
new_esEs24(x0, x1, ty_Float)
new_esEs11(Left(x0), Left(x1), ty_Float, x2)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_span2Ys0(x0, x1, :(x2, x3), x4, x5)
new_esEs27(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Float)
new_esEs17(Just(x0), Just(x1), ty_Float)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, ty_Char)
new_esEs22(x0, x1, ty_Integer)
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_primPlusNat0(Succ(x0), x1)
new_esEs17(Just(x0), Just(x1), ty_Char)
new_span2Ys10(x0, x1, x2, x3, True, x4, x5)
new_esEs11(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_span2Zs11(x0, x1, x2, x3, True, x4, x5)
new_esEs11(Left(x0), Left(x1), ty_@0, x2)
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_esEs9(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs11(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs11(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs11(Right(x0), Right(x1), x2, ty_Int)
new_esEs11(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primMulNat0(Succ(x0), Succ(x1))
new_span2Zs0(x0, x1, :(x2, x3), x4, x5)
new_primPlusNat1(Zero, Zero)
new_primEqNat0(Zero, Succ(x0))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Int)
new_esEs10(True, True)
new_esEs23(x0, x1, ty_Double)
new_esEs11(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs15(LT, EQ)
new_esEs15(EQ, LT)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs12(Double(x0, x1), Double(x2, x3))
new_esEs25(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Double)
new_esEs9(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Integer)
new_span2Ys10(x0, x1, x2, x3, False, x4, x5)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs17(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11(Right(x0), Right(x1), x2, ty_@0)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_span2Zs11(x0, x1, x2, x3, False, x4, x5)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(LT, LT)
new_esEs17(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Bool)
new_esEs11(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primEqNat0(Succ(x0), Succ(x1))
new_groupByZs0(x0, [], x1, x2)
new_esEs26(x0, x1, ty_Integer)
new_esEs15(EQ, GT)
new_esEs15(GT, EQ)
new_primPlusNat1(Zero, Succ(x0))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs16([], [], x0)
new_esEs9(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_Bool)
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].
The following pairs can be oriented strictly and are deleted.
new_groupBy(:(vuu30, vuu31), ba, bb) → new_groupBy(new_groupByZs0(vuu30, vuu31, ba, bb), ba, bb)
The remaining pairs can at least be oriented weakly.
none
Used ordering: Polynomial interpretation [25]:
POL(:(x1, x2)) = 1 + x2
POL(:%(x1, x2)) = 0
POL(@0) = 0
POL(@2(x1, x2)) = 0
POL(@3(x1, x2, x3)) = 0
POL(Char(x1)) = 0
POL(Double(x1, x2)) = 0
POL(EQ) = 0
POL(False) = 0
POL(Float(x1, x2)) = 0
POL(GT) = 0
POL(Integer(x1)) = 0
POL(Just(x1)) = 0
POL(LT) = 0
POL(Left(x1)) = 0
POL(Neg(x1)) = 1
POL(Nothing) = 0
POL(Pos(x1)) = 1 + x1
POL(Right(x1)) = 0
POL(Succ(x1)) = 0
POL(True) = 0
POL(Zero) = 1
POL([]) = 1
POL(app(x1, x2)) = x2
POL(new_asAs(x1, x2)) = 0
POL(new_esEs10(x1, x2)) = 1
POL(new_esEs11(x1, x2, x3, x4)) = 1
POL(new_esEs12(x1, x2)) = 1
POL(new_esEs13(x1, x2, x3)) = 1
POL(new_esEs14(x1, x2)) = 1
POL(new_esEs15(x1, x2)) = 0
POL(new_esEs16(x1, x2, x3)) = 0
POL(new_esEs17(x1, x2, x3)) = 0
POL(new_esEs18(x1, x2, x3, x4, x5)) = 1
POL(new_esEs19(x1, x2)) = 0
POL(new_esEs20(x1, x2, x3)) = 0
POL(new_esEs21(x1, x2, x3)) = 1 + x1 + x2
POL(new_esEs22(x1, x2, x3)) = 0
POL(new_esEs23(x1, x2, x3)) = 0
POL(new_esEs24(x1, x2, x3)) = 1 + x1 + x3
POL(new_esEs25(x1, x2, x3)) = 1 + x3
POL(new_esEs26(x1, x2, x3)) = 0
POL(new_esEs27(x1, x2, x3)) = 1
POL(new_esEs4(x1, x2, x3, x4)) = 0
POL(new_esEs5(x1, x2)) = 1
POL(new_esEs6(x1, x2)) = 0
POL(new_esEs7(x1, x2)) = 0
POL(new_esEs8(x1, x2, x3)) = 0
POL(new_esEs9(x1, x2, x3)) = 1 + x2 + x3
POL(new_groupBy(x1, x2, x3)) = x1
POL(new_groupByZs0(x1, x2, x3, x4)) = x2
POL(new_groupByZs00(x1, x2, x3, x4, x5, x6, x7, x8)) = 1 + x5
POL(new_primEqInt(x1, x2)) = 0
POL(new_primEqNat0(x1, x2)) = 0
POL(new_primMulNat0(x1, x2)) = 0
POL(new_primPlusNat0(x1, x2)) = 0
POL(new_primPlusNat1(x1, x2)) = x1 + x2
POL(new_span2Ys0(x1, x2, x3, x4, x5)) = x3
POL(new_span2Ys10(x1, x2, x3, x4, x5, x6, x7)) = 1 + x4
POL(new_span2Ys11(x1, x2, x3, x4, x5, x6, x7, x8)) = 1 + x5
POL(new_span2Zs0(x1, x2, x3, x4, x5)) = 1 + x3
POL(new_span2Zs10(x1, x2, x3, x4, x5, x6, x7, x8)) = x6
POL(new_span2Zs11(x1, x2, x3, x4, x5, x6, x7)) = 1 + x4
POL(new_sr(x1, x2)) = x1 + x2
POL(ty_@0) = 1
POL(ty_@2) = 0
POL(ty_@3) = 0
POL(ty_Bool) = 0
POL(ty_Char) = 1
POL(ty_Double) = 1
POL(ty_Either) = 0
POL(ty_Float) = 0
POL(ty_Int) = 0
POL(ty_Integer) = 0
POL(ty_Maybe) = 0
POL(ty_Ordering) = 0
POL(ty_Ratio) = 0
POL(ty_[]) = 0
The following usable rules [17] were oriented:
new_span2Zs11(vuu57, vuu58, vuu610, vuu611, False, bc, bd) → :(vuu610, vuu611)
new_groupByZs00(vuu57, vuu58, vuu59, vuu60, vuu61, False, bc, bd) → :(@2(vuu59, vuu60), vuu61)
new_span2Ys0(vuu37, vuu38, :(vuu410, vuu411), baf, bag) → new_span2Ys10(vuu37, vuu38, vuu410, vuu411, new_esEs4(@2(vuu37, vuu38), vuu410, baf, bag), baf, bag)
new_span2Ys11(vuu37, vuu38, vuu410, vuu411, vuu72, vuu71, baf, bag) → :(vuu410, vuu72)
new_span2Zs11(vuu57, vuu58, vuu610, vuu611, True, bc, bd) → new_span2Zs10(vuu57, vuu58, vuu610, vuu611, new_span2Ys0(vuu57, vuu58, vuu611, bc, bd), new_span2Zs0(vuu57, vuu58, vuu611, bc, bd), bc, bd)
new_span2Ys10(vuu37, vuu38, vuu410, vuu411, True, baf, bag) → new_span2Ys11(vuu37, vuu38, vuu410, vuu411, new_span2Ys0(vuu37, vuu38, vuu411, baf, bag), new_span2Zs0(vuu37, vuu38, vuu411, baf, bag), baf, bag)
new_groupByZs00(vuu57, vuu58, vuu59, vuu60, vuu61, True, bc, bd) → new_span2Zs0(vuu57, vuu58, vuu61, bc, bd)
new_span2Ys0(vuu37, vuu38, [], baf, bag) → []
new_span2Zs10(vuu57, vuu58, vuu610, vuu611, vuu74, vuu73, bc, bd) → vuu73
new_span2Ys10(vuu37, vuu38, vuu410, vuu411, False, baf, bag) → []
new_groupByZs0(vuu30, [], ba, bb) → []
new_span2Zs0(vuu57, vuu58, [], bc, bd) → []
new_span2Zs0(vuu57, vuu58, :(vuu610, vuu611), bc, bd) → new_span2Zs11(vuu57, vuu58, vuu610, vuu611, new_esEs4(@2(vuu57, vuu58), vuu610, bc, bd), bc, bd)
new_groupByZs0(@2(vuu300, vuu301), :(@2(vuu3100, vuu3101), vuu311), ba, bb) → new_groupByZs00(vuu300, vuu301, vuu3100, vuu3101, vuu311, new_asAs(new_esEs27(vuu300, vuu3100, ba), new_esEs26(vuu301, vuu3101, bb)), ba, bb)
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ LetRed
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
Q DP problem:
P is empty.
The TRS R consists of the following rules:
new_esEs9(vuu3010, vuu31010, app(ty_Maybe, dh)) → new_esEs17(vuu3010, vuu31010, dh)
new_esEs25(vuu3010, vuu31010, ty_Char) → new_esEs19(vuu3010, vuu31010)
new_esEs22(vuu3012, vuu31012, ty_Integer) → new_esEs14(vuu3012, vuu31012)
new_esEs22(vuu3012, vuu31012, app(ty_Ratio, fc)) → new_esEs13(vuu3012, vuu31012, fc)
new_esEs27(vuu300, vuu3100, app(ty_[], bcb)) → new_esEs16(vuu300, vuu3100, bcb)
new_esEs27(vuu300, vuu3100, ty_Char) → new_esEs19(vuu300, vuu3100)
new_primPlusNat1(Succ(vuu7500), Succ(vuu31010000)) → Succ(Succ(new_primPlusNat1(vuu7500, vuu31010000)))
new_esEs25(vuu3010, vuu31010, app(ty_[], bdd)) → new_esEs16(vuu3010, vuu31010, bdd)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Double, bba) → new_esEs12(vuu3010, vuu31010)
new_primEqInt(Neg(Succ(vuu30100)), Pos(vuu31010)) → False
new_primEqInt(Pos(Succ(vuu30100)), Neg(vuu31010)) → False
new_esEs24(vuu3010, vuu31010, app(ty_Ratio, hh)) → new_esEs13(vuu3010, vuu31010, hh)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs22(vuu3012, vuu31012, ty_Ordering) → new_esEs15(vuu3012, vuu31012)
new_esEs24(vuu3010, vuu31010, app(app(ty_@2, hf), hg)) → new_esEs4(vuu3010, vuu31010, hf, hg)
new_esEs27(vuu300, vuu3100, ty_Double) → new_esEs12(vuu300, vuu3100)
new_esEs9(vuu3010, vuu31010, ty_Float) → new_esEs6(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, app(app(ty_@2, gd), ge)) → new_esEs4(vuu3011, vuu31011, gd, ge)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, app(app(ty_Either, db), dc)) → new_esEs11(vuu3010, vuu31010, db, dc)
new_esEs16(:(vuu3010, vuu3011), :(vuu31010, vuu31011), bbc) → new_asAs(new_esEs25(vuu3010, vuu31010, bbc), new_esEs16(vuu3011, vuu31011, bbc))
new_esEs21(vuu3010, vuu31010, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_primEqInt(Neg(Zero), Pos(Succ(vuu310100))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vuu310100))) → False
new_esEs15(EQ, EQ) → True
new_esEs23(vuu3011, vuu31011, app(ty_Maybe, gh)) → new_esEs17(vuu3011, vuu31011, gh)
new_esEs25(vuu3010, vuu31010, app(ty_Maybe, bde)) → new_esEs17(vuu3010, vuu31010, bde)
new_esEs24(vuu3010, vuu31010, app(ty_Maybe, bab)) → new_esEs17(vuu3010, vuu31010, bab)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Char) → new_esEs19(vuu3010, vuu31010)
new_esEs8(vuu3011, vuu31011, ty_@0) → new_esEs5(vuu3011, vuu31011)
new_esEs24(vuu3010, vuu31010, app(app(app(ty_@3, bac), bad), bae)) → new_esEs18(vuu3010, vuu31010, bac, bad, bae)
new_esEs17(Just(vuu3010), Just(vuu31010), app(app(app(ty_@3, beh), bfa), bfb)) → new_esEs18(vuu3010, vuu31010, beh, bfa, bfb)
new_primMulNat0(Zero, Zero) → Zero
new_esEs11(Right(vuu3010), Right(vuu31010), bah, app(app(app(ty_@3, bhd), bhe), bhf)) → new_esEs18(vuu3010, vuu31010, bhd, bhe, bhf)
new_esEs25(vuu3010, vuu31010, ty_Double) → new_esEs12(vuu3010, vuu31010)
new_esEs25(vuu3010, vuu31010, ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(app(ty_@2, bec), bed)) → new_esEs4(vuu3010, vuu31010, bec, bed)
new_esEs26(vuu301, vuu3101, app(ty_[], bbc)) → new_esEs16(vuu301, vuu3101, bbc)
new_esEs21(vuu3010, vuu31010, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, app(ty_Ratio, gf)) → new_esEs13(vuu3011, vuu31011, gf)
new_esEs9(vuu3010, vuu31010, ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_@0, bba) → new_esEs5(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, app(app(app(ty_@3, ea), eb), ec)) → new_esEs18(vuu3010, vuu31010, ea, eb, ec)
new_esEs25(vuu3010, vuu31010, app(app(ty_@2, bda), bdb)) → new_esEs4(vuu3010, vuu31010, bda, bdb)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, app(app(ty_@2, bgg), bgh)) → new_esEs4(vuu3010, vuu31010, bgg, bgh)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Float) → new_esEs6(vuu3010, vuu31010)
new_primPlusNat0(Zero, vuu3101000) → Succ(vuu3101000)
new_esEs8(vuu3011, vuu31011, ty_Float) → new_esEs6(vuu3011, vuu31011)
new_esEs27(vuu300, vuu3100, app(ty_Maybe, bcc)) → new_esEs17(vuu300, vuu3100, bcc)
new_esEs8(vuu3011, vuu31011, ty_Double) → new_esEs12(vuu3011, vuu31011)
new_esEs26(vuu301, vuu3101, app(app(app(ty_@3, ed), ee), ef)) → new_esEs18(vuu301, vuu3101, ed, ee, ef)
new_span2Ys10(vuu37, vuu38, vuu410, vuu411, False, baf, bag) → []
new_esEs25(vuu3010, vuu31010, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, ty_Int) → new_esEs7(vuu3011, vuu31011)
new_esEs26(vuu301, vuu3101, ty_Float) → new_esEs6(vuu301, vuu3101)
new_sr(Neg(vuu30100), Pos(vuu310100)) → Neg(new_primMulNat0(vuu30100, vuu310100))
new_sr(Pos(vuu30100), Neg(vuu310100)) → Neg(new_primMulNat0(vuu30100, vuu310100))
new_esEs8(vuu3011, vuu31011, app(app(app(ty_@3, cf), cg), da)) → new_esEs18(vuu3011, vuu31011, cf, cg, da)
new_groupByZs00(vuu57, vuu58, vuu59, vuu60, vuu61, True, bc, bd) → new_span2Zs0(vuu57, vuu58, vuu61, bc, bd)
new_esEs22(vuu3012, vuu31012, ty_Bool) → new_esEs10(vuu3012, vuu31012)
new_esEs27(vuu300, vuu3100, ty_@0) → new_esEs5(vuu300, vuu3100)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, app(app(ty_Either, bge), bgf)) → new_esEs11(vuu3010, vuu31010, bge, bgf)
new_esEs11(Left(vuu3010), Left(vuu31010), app(app(app(ty_@3, bgb), bgc), bgd), bba) → new_esEs18(vuu3010, vuu31010, bgb, bgc, bgd)
new_esEs27(vuu300, vuu3100, ty_Bool) → new_esEs10(vuu300, vuu3100)
new_esEs22(vuu3012, vuu31012, app(ty_[], fd)) → new_esEs16(vuu3012, vuu31012, fd)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, app(ty_Maybe, bhc)) → new_esEs17(vuu3010, vuu31010, bhc)
new_esEs23(vuu3011, vuu31011, ty_Ordering) → new_esEs15(vuu3011, vuu31011)
new_esEs9(vuu3010, vuu31010, ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Left(vuu31010), app(ty_[], bfh), bba) → new_esEs16(vuu3010, vuu31010, bfh)
new_esEs10(True, True) → True
new_esEs27(vuu300, vuu3100, app(app(ty_Either, bbe), bbf)) → new_esEs11(vuu300, vuu3100, bbe, bbf)
new_esEs26(vuu301, vuu3101, ty_Integer) → new_esEs14(vuu301, vuu3101)
new_esEs8(vuu3011, vuu31011, app(app(ty_@2, ca), cb)) → new_esEs4(vuu3011, vuu31011, ca, cb)
new_esEs22(vuu3012, vuu31012, ty_@0) → new_esEs5(vuu3012, vuu31012)
new_esEs11(Left(vuu3010), Left(vuu31010), app(app(ty_Either, bfc), bfd), bba) → new_esEs11(vuu3010, vuu31010, bfc, bfd)
new_esEs9(vuu3010, vuu31010, app(ty_Ratio, df)) → new_esEs13(vuu3010, vuu31010, df)
new_esEs26(vuu301, vuu3101, ty_@0) → new_esEs5(vuu301, vuu3101)
new_primEqNat0(Succ(vuu30100), Zero) → False
new_primEqNat0(Zero, Succ(vuu310100)) → False
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Double) → new_esEs12(vuu3010, vuu31010)
new_esEs15(GT, LT) → False
new_esEs15(LT, GT) → False
new_esEs23(vuu3011, vuu31011, app(app(app(ty_@3, ha), hb), hc)) → new_esEs18(vuu3011, vuu31011, ha, hb, hc)
new_esEs9(vuu3010, vuu31010, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs26(vuu301, vuu3101, ty_Bool) → new_esEs10(vuu301, vuu3101)
new_groupByZs0(vuu30, [], ba, bb) → []
new_groupByZs0(@2(vuu300, vuu301), :(@2(vuu3100, vuu3101), vuu311), ba, bb) → new_groupByZs00(vuu300, vuu301, vuu3100, vuu3101, vuu311, new_asAs(new_esEs27(vuu300, vuu3100, ba), new_esEs26(vuu301, vuu3101, bb)), ba, bb)
new_esEs5(@0, @0) → True
new_esEs20(vuu3011, vuu31011, ty_Int) → new_esEs7(vuu3011, vuu31011)
new_esEs26(vuu301, vuu3101, app(app(ty_Either, bah), bba)) → new_esEs11(vuu301, vuu3101, bah, bba)
new_esEs15(LT, LT) → True
new_esEs16([], :(vuu31010, vuu31011), bbc) → False
new_esEs16(:(vuu3010, vuu3011), [], bbc) → False
new_esEs22(vuu3012, vuu31012, ty_Int) → new_esEs7(vuu3012, vuu31012)
new_esEs27(vuu300, vuu3100, ty_Ordering) → new_esEs15(vuu300, vuu3100)
new_esEs22(vuu3012, vuu31012, app(app(ty_@2, fa), fb)) → new_esEs4(vuu3012, vuu31012, fa, fb)
new_esEs26(vuu301, vuu3101, ty_Ordering) → new_esEs15(vuu301, vuu3101)
new_esEs24(vuu3010, vuu31010, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, ty_@0) → new_esEs5(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, app(app(ty_Either, gb), gc)) → new_esEs11(vuu3011, vuu31011, gb, gc)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, app(ty_[], bhb)) → new_esEs16(vuu3010, vuu31010, bhb)
new_esEs25(vuu3010, vuu31010, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs15(EQ, LT) → False
new_esEs15(LT, EQ) → False
new_esEs14(Integer(vuu3010), Integer(vuu31010)) → new_primEqInt(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Integer, bba) → new_esEs14(vuu3010, vuu31010)
new_esEs26(vuu301, vuu3101, ty_Char) → new_esEs19(vuu301, vuu3101)
new_span2Ys11(vuu37, vuu38, vuu410, vuu411, vuu72, vuu71, baf, bag) → :(vuu410, vuu72)
new_esEs8(vuu3011, vuu31011, ty_Ordering) → new_esEs15(vuu3011, vuu31011)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Char) → new_esEs19(vuu3010, vuu31010)
new_groupByZs00(vuu57, vuu58, vuu59, vuu60, vuu61, False, bc, bd) → :(@2(vuu59, vuu60), vuu61)
new_esEs26(vuu301, vuu3101, ty_Double) → new_esEs12(vuu301, vuu3101)
new_esEs6(Float(vuu3010, vuu3011), Float(vuu31010, vuu31011)) → new_esEs7(new_sr(vuu3010, vuu31010), new_sr(vuu3011, vuu31011))
new_esEs19(Char(vuu3010), Char(vuu31010)) → new_primEqNat0(vuu3010, vuu31010)
new_esEs22(vuu3012, vuu31012, ty_Char) → new_esEs19(vuu3012, vuu31012)
new_esEs15(GT, EQ) → False
new_esEs15(EQ, GT) → False
new_esEs9(vuu3010, vuu31010, app(app(ty_@2, dd), de)) → new_esEs4(vuu3010, vuu31010, dd, de)
new_esEs25(vuu3010, vuu31010, ty_@0) → new_esEs5(vuu3010, vuu31010)
new_esEs25(vuu3010, vuu31010, ty_Float) → new_esEs6(vuu3010, vuu31010)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Double) → new_esEs12(vuu3010, vuu31010)
new_sr(Neg(vuu30100), Neg(vuu310100)) → Pos(new_primMulNat0(vuu30100, vuu310100))
new_esEs27(vuu300, vuu3100, ty_Int) → new_esEs7(vuu300, vuu3100)
new_esEs24(vuu3010, vuu31010, ty_Double) → new_esEs12(vuu3010, vuu31010)
new_span2Ys0(vuu37, vuu38, [], baf, bag) → []
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs25(vuu3010, vuu31010, app(ty_Ratio, bdc)) → new_esEs13(vuu3010, vuu31010, bdc)
new_esEs18(@3(vuu3010, vuu3011, vuu3012), @3(vuu31010, vuu31011, vuu31012), ed, ee, ef) → new_asAs(new_esEs24(vuu3010, vuu31010, ed), new_asAs(new_esEs23(vuu3011, vuu31011, ee), new_esEs22(vuu3012, vuu31012, ef)))
new_sr(Pos(vuu30100), Pos(vuu310100)) → Pos(new_primMulNat0(vuu30100, vuu310100))
new_asAs(False, vuu68) → False
new_esEs22(vuu3012, vuu31012, ty_Double) → new_esEs12(vuu3012, vuu31012)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Left(vuu31010), app(ty_Ratio, bfg), bba) → new_esEs13(vuu3010, vuu31010, bfg)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Int) → new_esEs7(vuu3010, vuu31010)
new_primEqNat0(Zero, Zero) → True
new_primMulNat0(Zero, Succ(vuu3101000)) → Zero
new_primMulNat0(Succ(vuu301000), Zero) → Zero
new_esEs8(vuu3011, vuu31011, ty_Integer) → new_esEs14(vuu3011, vuu31011)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Char, bba) → new_esEs19(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(ty_Ratio, bee)) → new_esEs13(vuu3010, vuu31010, bee)
new_esEs8(vuu3011, vuu31011, app(ty_[], cd)) → new_esEs16(vuu3011, vuu31011, cd)
new_esEs7(vuu301, vuu3101) → new_primEqInt(vuu301, vuu3101)
new_esEs26(vuu301, vuu3101, app(ty_Ratio, bbb)) → new_esEs13(vuu301, vuu3101, bbb)
new_esEs23(vuu3011, vuu31011, ty_Float) → new_esEs6(vuu3011, vuu31011)
new_esEs8(vuu3011, vuu31011, ty_Int) → new_esEs7(vuu3011, vuu31011)
new_esEs24(vuu3010, vuu31010, app(ty_[], baa)) → new_esEs16(vuu3010, vuu31010, baa)
new_esEs27(vuu300, vuu3100, app(ty_Ratio, bca)) → new_esEs13(vuu300, vuu3100, bca)
new_esEs24(vuu3010, vuu31010, ty_@0) → new_esEs5(vuu3010, vuu31010)
new_esEs27(vuu300, vuu3100, ty_Float) → new_esEs6(vuu300, vuu3100)
new_esEs22(vuu3012, vuu31012, ty_Float) → new_esEs6(vuu3012, vuu31012)
new_esEs24(vuu3010, vuu31010, ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(app(ty_Either, bea), beb)) → new_esEs11(vuu3010, vuu31010, bea, beb)
new_esEs26(vuu301, vuu3101, app(ty_Maybe, bbd)) → new_esEs17(vuu301, vuu3101, bbd)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Bool, bba) → new_esEs10(vuu3010, vuu31010)
new_esEs9(vuu3010, vuu31010, app(ty_[], dg)) → new_esEs16(vuu3010, vuu31010, dg)
new_esEs26(vuu301, vuu3101, ty_Int) → new_esEs7(vuu301, vuu3101)
new_esEs22(vuu3012, vuu31012, app(ty_Maybe, ff)) → new_esEs17(vuu3012, vuu31012, ff)
new_esEs8(vuu3011, vuu31011, ty_Bool) → new_esEs10(vuu3011, vuu31011)
new_esEs24(vuu3010, vuu31010, ty_Char) → new_esEs19(vuu3010, vuu31010)
new_primPlusNat0(Succ(vuu750), vuu3101000) → Succ(Succ(new_primPlusNat1(vuu750, vuu3101000)))
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, ty_Bool) → new_esEs10(vuu3011, vuu31011)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Ordering, bba) → new_esEs15(vuu3010, vuu31010)
new_esEs20(vuu3011, vuu31011, ty_Integer) → new_esEs14(vuu3011, vuu31011)
new_span2Zs11(vuu57, vuu58, vuu610, vuu611, False, bc, bd) → :(vuu610, vuu611)
new_esEs25(vuu3010, vuu31010, app(app(app(ty_@3, bdf), bdg), bdh)) → new_esEs18(vuu3010, vuu31010, bdf, bdg, bdh)
new_esEs24(vuu3010, vuu31010, ty_Integer) → new_esEs14(vuu3010, vuu31010)
new_esEs27(vuu300, vuu3100, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs18(vuu300, vuu3100, bcd, bce, bcf)
new_span2Zs0(vuu57, vuu58, [], bc, bd) → []
new_esEs11(Left(vuu3010), Left(vuu31010), app(ty_Maybe, bga), bba) → new_esEs17(vuu3010, vuu31010, bga)
new_primEqInt(Neg(Succ(vuu30100)), Neg(Succ(vuu310100))) → new_primEqNat0(vuu30100, vuu310100)
new_esEs11(Left(vuu3010), Left(vuu31010), app(app(ty_@2, bfe), bff), bba) → new_esEs4(vuu3010, vuu31010, bfe, bff)
new_esEs27(vuu300, vuu3100, app(app(ty_@2, bbg), bbh)) → new_esEs4(vuu300, vuu3100, bbg, bbh)
new_primPlusNat1(Zero, Succ(vuu31010000)) → Succ(vuu31010000)
new_primPlusNat1(Succ(vuu7500), Zero) → Succ(vuu7500)
new_span2Zs11(vuu57, vuu58, vuu610, vuu611, True, bc, bd) → new_span2Zs10(vuu57, vuu58, vuu610, vuu611, new_span2Ys0(vuu57, vuu58, vuu611, bc, bd), new_span2Zs0(vuu57, vuu58, vuu611, bc, bd), bc, bd)
new_esEs16([], [], bbc) → True
new_esEs24(vuu3010, vuu31010, ty_Float) → new_esEs6(vuu3010, vuu31010)
new_span2Zs10(vuu57, vuu58, vuu610, vuu611, vuu74, vuu73, bc, bd) → vuu73
new_esEs9(vuu3010, vuu31010, ty_Int) → new_esEs7(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(ty_[], bef)) → new_esEs16(vuu3010, vuu31010, bef)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs23(vuu3011, vuu31011, ty_Char) → new_esEs19(vuu3011, vuu31011)
new_esEs24(vuu3010, vuu31010, ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs13(:%(vuu3010, vuu3011), :%(vuu31010, vuu31011), bbb) → new_asAs(new_esEs21(vuu3010, vuu31010, bbb), new_esEs20(vuu3011, vuu31011, bbb))
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_Float) → new_esEs6(vuu3010, vuu31010)
new_esEs8(vuu3011, vuu31011, app(ty_Ratio, cc)) → new_esEs13(vuu3011, vuu31011, cc)
new_primEqInt(Neg(Zero), Neg(Succ(vuu310100))) → False
new_primEqInt(Neg(Succ(vuu30100)), Neg(Zero)) → False
new_esEs17(Nothing, Nothing, bbd) → True
new_esEs8(vuu3011, vuu31011, app(app(ty_Either, bg), bh)) → new_esEs11(vuu3011, vuu31011, bg, bh)
new_span2Ys10(vuu37, vuu38, vuu410, vuu411, True, baf, bag) → new_span2Ys11(vuu37, vuu38, vuu410, vuu411, new_span2Ys0(vuu37, vuu38, vuu411, baf, bag), new_span2Zs0(vuu37, vuu38, vuu411, baf, bag), baf, bag)
new_esEs23(vuu3011, vuu31011, ty_Double) → new_esEs12(vuu3011, vuu31011)
new_esEs4(@2(vuu3010, vuu3011), @2(vuu31010, vuu31011), be, bf) → new_asAs(new_esEs9(vuu3010, vuu31010, be), new_esEs8(vuu3011, vuu31011, bf))
new_esEs25(vuu3010, vuu31010, app(app(ty_Either, bcg), bch)) → new_esEs11(vuu3010, vuu31010, bcg, bch)
new_esEs23(vuu3011, vuu31011, app(ty_[], gg)) → new_esEs16(vuu3011, vuu31011, gg)
new_esEs10(False, False) → True
new_primPlusNat1(Zero, Zero) → Zero
new_esEs9(vuu3010, vuu31010, ty_Char) → new_esEs19(vuu3010, vuu31010)
new_esEs27(vuu300, vuu3100, ty_Integer) → new_esEs14(vuu300, vuu3100)
new_span2Ys0(vuu37, vuu38, :(vuu410, vuu411), baf, bag) → new_span2Ys10(vuu37, vuu38, vuu410, vuu411, new_esEs4(@2(vuu37, vuu38), vuu410, baf, bag), baf, bag)
new_asAs(True, vuu68) → vuu68
new_esEs23(vuu3011, vuu31011, ty_Integer) → new_esEs14(vuu3011, vuu31011)
new_esEs8(vuu3011, vuu31011, ty_Char) → new_esEs19(vuu3011, vuu31011)
new_primMulNat0(Succ(vuu301000), Succ(vuu3101000)) → new_primPlusNat0(new_primMulNat0(vuu301000, Succ(vuu3101000)), vuu3101000)
new_esEs10(True, False) → False
new_esEs10(False, True) → False
new_span2Zs0(vuu57, vuu58, :(vuu610, vuu611), bc, bd) → new_span2Zs11(vuu57, vuu58, vuu610, vuu611, new_esEs4(@2(vuu57, vuu58), vuu610, bc, bd), bc, bd)
new_primEqInt(Pos(Succ(vuu30100)), Pos(Succ(vuu310100))) → new_primEqNat0(vuu30100, vuu310100)
new_esEs22(vuu3012, vuu31012, app(app(ty_Either, eg), eh)) → new_esEs11(vuu3012, vuu31012, eg, eh)
new_esEs17(Just(vuu3010), Nothing, bbd) → False
new_esEs17(Nothing, Just(vuu31010), bbd) → False
new_primEqNat0(Succ(vuu30100), Succ(vuu310100)) → new_primEqNat0(vuu30100, vuu310100)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, app(ty_Ratio, bha)) → new_esEs13(vuu3010, vuu31010, bha)
new_esEs15(GT, GT) → True
new_esEs17(Just(vuu3010), Just(vuu31010), ty_Bool) → new_esEs10(vuu3010, vuu31010)
new_esEs17(Just(vuu3010), Just(vuu31010), app(ty_Maybe, beg)) → new_esEs17(vuu3010, vuu31010, beg)
new_esEs26(vuu301, vuu3101, app(app(ty_@2, be), bf)) → new_esEs4(vuu301, vuu3101, be, bf)
new_esEs25(vuu3010, vuu31010, ty_Ordering) → new_esEs15(vuu3010, vuu31010)
new_esEs12(Double(vuu3010, vuu3011), Double(vuu31010, vuu31011)) → new_esEs7(new_sr(vuu3010, vuu31010), new_sr(vuu3011, vuu31011))
new_esEs24(vuu3010, vuu31010, app(app(ty_Either, hd), he)) → new_esEs11(vuu3010, vuu31010, hd, he)
new_esEs17(Just(vuu3010), Just(vuu31010), ty_@0) → new_esEs5(vuu3010, vuu31010)
new_primEqInt(Pos(Zero), Pos(Succ(vuu310100))) → False
new_primEqInt(Pos(Succ(vuu30100)), Pos(Zero)) → False
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Int, bba) → new_esEs7(vuu3010, vuu31010)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs9(vuu3010, vuu31010, ty_Double) → new_esEs12(vuu3010, vuu31010)
new_esEs23(vuu3011, vuu31011, ty_@0) → new_esEs5(vuu3011, vuu31011)
new_esEs8(vuu3011, vuu31011, app(ty_Maybe, ce)) → new_esEs17(vuu3011, vuu31011, ce)
new_esEs11(Right(vuu3010), Right(vuu31010), bah, ty_@0) → new_esEs5(vuu3010, vuu31010)
new_esEs22(vuu3012, vuu31012, app(app(app(ty_@3, fg), fh), ga)) → new_esEs18(vuu3012, vuu31012, fg, fh, ga)
new_esEs11(Left(vuu3010), Left(vuu31010), ty_Float, bba) → new_esEs6(vuu3010, vuu31010)
new_esEs11(Left(vuu3010), Right(vuu31010), bah, bba) → False
new_esEs11(Right(vuu3010), Left(vuu31010), bah, bba) → False
The set Q consists of the following terms:
new_esEs17(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Int)
new_esEs11(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, ty_Double)
new_esEs5(@0, @0)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_span2Ys11(x0, x1, x2, x3, x4, x5, x6, x7)
new_sr(Neg(x0), Neg(x1))
new_esEs11(Right(x0), Right(x1), x2, ty_Double)
new_esEs11(Left(x0), Left(x1), ty_Int, x2)
new_esEs23(x0, x1, ty_Float)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs27(x0, x1, ty_Bool)
new_esEs17(Just(x0), Just(x1), app(ty_[], x2))
new_esEs24(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs22(x0, x1, ty_Bool)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs11(Right(x0), Right(x1), x2, ty_Float)
new_primPlusNat0(Zero, x0)
new_esEs25(x0, x1, ty_Bool)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_span2Zs10(x0, x1, x2, x3, x4, x5, x6, x7)
new_esEs11(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs22(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs17(Just(x0), Just(x1), ty_Double)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs20(x0, x1, ty_Int)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Char)
new_esEs24(x0, x1, ty_Bool)
new_esEs8(x0, x1, ty_Int)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_asAs(False, x0)
new_esEs24(x0, x1, ty_Integer)
new_esEs17(Just(x0), Just(x1), ty_Bool)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_@0)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs25(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Ordering)
new_esEs26(x0, x1, ty_Int)
new_esEs11(Left(x0), Left(x1), ty_Integer, x2)
new_primEqNat0(Succ(x0), Zero)
new_esEs23(x0, x1, ty_@0)
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs18(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_span2Ys0(x0, x1, [], x2, x3)
new_esEs16(:(x0, x1), [], x2)
new_esEs25(x0, x1, ty_@0)
new_esEs11(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs17(Just(x0), Nothing, x1)
new_groupByZs00(x0, x1, x2, x3, x4, False, x5, x6)
new_esEs6(Float(x0, x1), Float(x2, x3))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_sr(Pos(x0), Pos(x1))
new_esEs24(x0, x1, ty_Int)
new_esEs7(x0, x1)
new_esEs23(x0, x1, ty_Int)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_groupByZs00(x0, x1, x2, x3, x4, True, x5, x6)
new_esEs22(x0, x1, ty_Float)
new_esEs17(Nothing, Nothing, x0)
new_esEs9(x0, x1, ty_Ordering)
new_esEs17(Just(x0), Just(x1), ty_Integer)
new_esEs25(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Double)
new_esEs9(x0, x1, ty_Char)
new_primMulNat0(Zero, Succ(x0))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs11(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs11(Left(x0), Left(x1), ty_Char, x2)
new_esEs11(Left(x0), Left(x1), ty_Double, x2)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs19(Char(x0), Char(x1))
new_esEs17(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs11(Right(x0), Right(x1), x2, ty_Bool)
new_esEs17(Just(x0), Just(x1), ty_@0)
new_esEs8(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_@0)
new_esEs26(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Integer)
new_esEs20(x0, x1, ty_Integer)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_span2Zs0(x0, x1, [], x2, x3)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(False, False)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs11(Left(x0), Left(x1), ty_Bool, x2)
new_esEs8(x0, x1, ty_@0)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs11(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs11(Left(x0), Right(x1), x2, x3)
new_esEs11(Right(x0), Left(x1), x2, x3)
new_primEqNat0(Zero, Zero)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Ordering)
new_esEs11(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), Zero)
new_esEs17(Just(x0), Just(x1), ty_Int)
new_esEs25(x0, x1, ty_Double)
new_esEs15(GT, GT)
new_esEs8(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Double)
new_esEs17(Nothing, Just(x0), x1)
new_esEs17(Just(x0), Just(x1), ty_Ordering)
new_esEs24(x0, x1, ty_Char)
new_groupByZs0(@2(x0, x1), :(@2(x2, x3), x4), x5, x6)
new_esEs15(GT, LT)
new_esEs15(LT, GT)
new_primMulNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs11(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs8(x0, x1, ty_Ordering)
new_esEs10(True, False)
new_esEs10(False, True)
new_esEs11(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Char)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs17(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Float)
new_esEs16([], :(x0, x1), x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs24(x0, x1, ty_Double)
new_esEs15(EQ, EQ)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_asAs(True, x0)
new_esEs24(x0, x1, ty_Float)
new_esEs11(Left(x0), Left(x1), ty_Float, x2)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_span2Ys0(x0, x1, :(x2, x3), x4, x5)
new_esEs27(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Float)
new_esEs17(Just(x0), Just(x1), ty_Float)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, ty_Char)
new_esEs22(x0, x1, ty_Integer)
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_primPlusNat0(Succ(x0), x1)
new_esEs17(Just(x0), Just(x1), ty_Char)
new_span2Ys10(x0, x1, x2, x3, True, x4, x5)
new_esEs11(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_span2Zs11(x0, x1, x2, x3, True, x4, x5)
new_esEs11(Left(x0), Left(x1), ty_@0, x2)
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_esEs9(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs11(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs11(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs11(Right(x0), Right(x1), x2, ty_Int)
new_esEs11(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primMulNat0(Succ(x0), Succ(x1))
new_span2Zs0(x0, x1, :(x2, x3), x4, x5)
new_primPlusNat1(Zero, Zero)
new_primEqNat0(Zero, Succ(x0))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Int)
new_esEs10(True, True)
new_esEs23(x0, x1, ty_Double)
new_esEs11(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs15(LT, EQ)
new_esEs15(EQ, LT)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs12(Double(x0, x1), Double(x2, x3))
new_esEs25(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Double)
new_esEs9(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Integer)
new_span2Ys10(x0, x1, x2, x3, False, x4, x5)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs17(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11(Right(x0), Right(x1), x2, ty_@0)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_span2Zs11(x0, x1, x2, x3, False, x4, x5)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(LT, LT)
new_esEs17(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Bool)
new_esEs11(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primEqNat0(Succ(x0), Succ(x1))
new_groupByZs0(x0, [], x1, x2)
new_esEs26(x0, x1, ty_Integer)
new_esEs15(EQ, GT)
new_esEs15(GT, EQ)
new_primPlusNat1(Zero, Succ(x0))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs16([], [], x0)
new_esEs9(x0, x1, ty_Bool)
new_esEs23(x0, x1, ty_Bool)
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.